Zum Hauptinhalt springen
Übersetzte Seite

Diese Seite wurde mit KI-Unterstützung aus dem Englischen übersetzt. Bei Abweichungen ist die englische Version maßgeblich.

JSON_SET

Aktualisiert vorhandene Werte oder fügt neue Werte an den angegebenen Pfaden in ein JSON-Dokument ein.

Siehe auch:
[SELECT] [JSON_EXTRACT] [JSON_SET] [JSON_REPLACE]


Syntax​

SELECT JSON_SET(json_column, path, value_to_set) FROM <multipartIdentifier>;

Argumente​

json_column
Die zu ändernde JSON-Spalte oder der zu ändernde Ausdruck.

path
Der JSON-Pfadausdruck, der angibt, wo der Wert gesetzt werden soll. Wenn der Pfad vorhanden ist, wird der Wert aktualisiert; wenn der Pfad nicht vorhanden ist, wird ein neues Schlüssel-Wert-Paar hinzugefügt.

value_to_set
Der Wert, der am angegebenen Pfad im JSON-Dokument gesetzt werden soll.

Rückgabewert(e)​

Gibt ein JSON-Dokument zurück, in dem der Wert am angegebenen Pfad gesetzt ist. Wenn der Pfad vorhanden ist, wird der vorhandene Wert aktualisiert; andernfalls wird ein neues Schlüssel-Wert-Paar hinzugefügt.

Verhalten, wenn ein Schlüssel vorhanden ist
FunktionÜberschreiben, wenn bereits vorhanden?Anlegen, wenn nicht vorhanden?
json_insert()NeinJa
json_replace()JaNein
json_set()JaJa

Beispiele​

Einen vorhandenen Wert in einem JSON-Objekt aktualisieren​

-- Example: Update the 'status' key's value to 'active' in a JSON object
SELECT JSON_SET(json_data, '$.status', 'active') as updated_json
FROM cloud_services
WHERE service_id = 'service123';

-- Expected output:
-- |---------------------------------------------------------|
-- | updated_json |
-- |---------------------------------------------------------|
-- | {"name":"ServiceOne", "status":"active", "region":"US"} |
-- |---------------------------------------------------------|

Diese Abfrage aktualisiert den Schlüssel 'status' im JSON-Dokument auf 'active', wenn der Schlüssel 'status' vorhanden ist. Wenn 'status' im Dokument nicht vorhanden ist, wird er mit dem Wert 'active' hinzugefügt.

Ein neues Schlüssel-Wert-Paar zu einem JSON-Objekt hinzufügen​

-- Example: Add a new key 'lastChecked' with the current date to a JSON object
SELECT JSON_SET(json_data, '$.lastChecked', '2024-04-29') as updated_json
FROM cloud_services
WHERE service_id = 'service123';

/* expected output...
|-----------------------------------------------------------------------|
| updated_json |
|-----------------------------------------------------------------------|
| {"name":"ServiceOne", "status":"pending", "lastChecked":"2024-04-29"} |
|-----------------------------------------------------------------------|
*/

Diese Abfrage fügt dem JSON-Dokument einen neuen Schlüssel 'lastChecked' mit dem Wert '2024-04-29' hinzu, wenn 'lastChecked' noch nicht vorhanden ist. Ist er bereits vorhanden, wird der vorhandene Wert auf '2024-04-29' aktualisiert.