【发布时间】:2019-01-16 23:28:34
【问题描述】:
当我运行这个时,我得到一个错误我如何考虑到该值可能是 null 并且它不会引发错误?
declare @Concepts varchar(500)
set @Concepts = '{"Concepts":null}';
select [value] from openjson(@Concepts,'strict $.Concepts')
当它不为空时
set @Concepts = '{"Concepts": [4324,2342]}';
这是我遇到的错误
JSON 路径引用的值不是数组或对象,不能用 OPENJSON 打开。
【问题讨论】:
-
您遇到的错误是什么?使用查询结果的空引用异常,还是解析/运行查询时出错?请注意,NULL 在 SQL 中的行为与大多数其他语言不同(例如,不要尝试使用
X = NULL,而是使用X IS NULL和X IS NOT NULL)。 -
JSON 路径引用的值不是数组或对象,不能用 OPENJSON 打开。是错误理解他们的行为不同我更多的是在谈论我的 JSON 中有 null 的地方
-
Concepts不是null时应该是什么?正确答案取决于它是另一个 JSON 对象还是标量值。 -
我更新了我的问题
标签: sql sql-server sql-server-2016