我有以下简单的 JSON 对象:
{
"application": {
"status": "XXX"
}
}
我想在名为“approve_date”的应用程序下添加一个新 key ,并希望该值为 NULL。有没有办法用
JSON_MODIFY
做到这一点? .我尝试在路径中使用“追加”,但这添加了一个数组,而不是一个键(下面的示例)。JSON_MODIFY(data, 'append $.application.approve_date', null)
(A) 向 JSON 添加新键和 (B) 使其成为 NULL 值的更好方法是什么?
最佳答案
NULL
的行为因模式而异,因此,一个技巧是使用 JSON_MODIFY
结合松散(添加键)和严格模式(将值设置为空)。
SELECT
JSON_MODIFY(
JSON_MODIFY(
'{"application":{"status":"XXX"}}',
'$.application.approve_date',
''
), -- {"application":{"status":"XXX","approve_date":""}}
'strict $.application.approve_date',
NULL
) -- {"application":{"status":"XXX","approve_date":null}}
关于sql - 将 value = NULL 的新键添加到现有的 JSON 对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59038499/