我有以下简单的JSON对象:
{
"application": {
"status": "XXX"
}
}
我想在名为“ approve_date”的应用程序下添加一个新键,并且希望该值为NULL。有没有办法用JSON_MODIFY
来做到这一点。我尝试在路径中使用“附加”,但这添加了一个数组,而不是键(下面的示例)。
JSON_MODIFY(data, 'append $.application.approve_date', null)
(A)向JSON添加新密钥并(B)将其设置为NULL值的更好方法是什么?
答案 0 :(得分:1)
NULL
的行为随模式而异,因此,一个技巧是将JSON_MODIFY
与宽松(添加密钥)和严格模式(用于将vale设置为null)。
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}}