对于以下查询,我在运行它时收到错误:
"JSON_VALUE或JSON_QUERY"的参数2必须是字符串文字.
SELECT JSON_QUERY(sr.Options, CONCAT('$[',sr.OptionId,']')
FROM Survey as sr
列‘Options’包含类似如下的JSON:[{"ID":1,"Text":"Yes"},{"ID":2,"Text":"No"}]和‘OptionID’与我想返回的其中一个选项的索引相关,但可以为空,在这种情况下,我不关心它返回什么."Options"有时也会是空数组"[]",但在这种情况下,"OptionId"始终为空.
这是针对SQL Server 13.0.4001运行的
我在JSON_QUERY的参数2上try 了各种操作,比如使用CASE语句仅在sr.OptionId不为NULL时使用它,try 转换类型,以及在整个查询上使用WHERE语句过滤掉NULL.