sql >> Database >  >> RDS >> Oracle

Hoe JSON-kolom bij te werken in orakel 12.1

Pre-19c, als je waarden in een JSON-document wilt wijzigen, moet je het hele ding vervangen:

create table t (
  doc varchar2(100)
    check ( doc is json ) 
);

insert into t values ('{
  "changeMe" : "to null",
  "leaveMe"  : "alone"
}');

update t
set    doc = '{
  "changeMe" : null,
  "leaveMe"  : "alone"
}';

select * from t;

DOC                                               
{
  "changeMe" : null,
  "leaveMe"  : "alone"
}  

Merk op dat wanneer je bij 19c komt en json_mergepatch . gebruikt , een attribuut instellen op null verwijdert het uit het document:

update t
set    doc = json_mergepatch ( 
  doc, 
  '{
    "changeMe" : null
  }');

select * from t;

DOC                   
{"leaveMe":"alone"}   



  1. Hoe tags binnen een tag te verwijderen PHP XML MYSQL GCIDE terwijl tekst wordt achtergelaten

  2. Oracle select retourneert niet alle kolommen onder sqlplus

  3. OSX Lion Homebrew brew installatie mysql -v problemen

  4. Hoe RANK() te gebruiken in SQL Server