Zum Inhalt springen

Wendet mit einem Lambda-Ausdruck eine Transformation auf jeden Wert in einem JSON-Objekt an.

JSON_MAP_TRANSFORM_VALUES(<json_object>, (<key>, <value>) -> <value_transformation>)

Gibt ein JSON-Objekt mit denselben Schlüsseln wie das JSON-Eingabeobjekt zurück, dessen Werte jedoch gemäß der angegebenen Lambda-Transformation geändert wurden.

Dieses Beispiel hängt „ - Special Offer“ an jede Produktbeschreibung an:

SELECT JSON_MAP_TRANSFORM_VALUES('{"product1":"laptop", "product2":"phone"}'::VARIANT, (k, v) -> CONCAT(v, ' - Special Offer')) AS promo_descriptions;
┌──────────────────────────────────────────────────────────────────────────┐
│ promo_descriptions │
├──────────────────────────────────────────────────────────────────────────┤
│ {"product1":"laptop - Special Offer","product2":"phone - Special Offer"} │
└──────────────────────────────────────────────────────────────────────────┘