我有一个带有VARCHAR列的表,我将其用作JSON。该列中是以下数据:{"Key-Name": "A value."}
。
如果我使用JSON_VALUE在下面的查询中对该列进行过滤,则会出现以下错误:“ JSON路径格式不正确。在位置5找到意外的字符'-'。”
SELECT *
FROM [MyTable]
WHERE JSON_VALUE([Value], N'$.Key-Name') = 'A value'
当键中包含特殊字符时,如何使用JSON_VALUE函数检索值?
答案 0 :(得分:2)
您可以使用双引号将键名转义:
SELECT *
FROM [MyTable]
WHERE JSON_VALUE([Value], N'$."Key-Name"') = 'A value'