查询路径中包含意外字符的JSON值



我第一次在数据库中使用JSON值。我想使用JSON_VALUE或JSON_QUERY来返回JSON的值或部分,但无论是谁设计的,都在键中使用了"-",这是一个非法值。研究表明,我需要使用FOR JSON来转义它,但我不知道怎么做。

尝试查询:

select 
xt.ID,
JSON_QUERY(xt.JSON_DB_VALUE, '$.CusomterQuery.Details.cust-names') as JSON_WITH_NAMES,
JSON_VALUE(xt.JSON_DB_VALUE, '$.CusomterQuery.Details.cust-names.first-name') as FIRST_NAME
from EXAMPLE_TABLE xt 

收到错误:

JSON路径格式不正确。在位置xx处发现意外的字符"-"。

感谢

感谢Zhorov的快速评论,这是一个非常简单的解决方案-在带有非法字符的路径部分周围添加引号。

select 
xt.ID,
JSON_QUERY(xt.JSON_DB_VALUE, '$.CusomterQuery.Details."cust-names"') as JSON_WITH_NAMES,
JSON_VALUE(xt.JSON_DB_VALUE, '$.CusomterQuery.Details."cust-names"."first-name"') as FIRST_NAME
from EXAMPLE_TABLE xt 

相关内容

  • 没有找到相关文章

最新更新