跳转到内容

使用 lambda 表达式对 JSON 对象中的每个值应用转换。

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

返回一个 JSON 对象,其键与输入 JSON 对象相同,但值已根据指定的 lambda 转换进行了修改。

此示例在每个产品描述后追加 “ - Special Offer”:

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"} │
└──────────────────────────────────────────────────────────────────────────┘