JSON_QUERY无法处理NULL

时间:2019-07-08 12:51:02

标签: json sql-server

我有一张桌子。很少有列为字符串,整数类型的列。很少有JSON类型。我正在写一个查询,以形成每行作为一个json对象。我有JSON_QUERY(jsondataColumnName)问题。如果填充该列,则NULL JSON_QUERY失败。

我已经在下面写了查询。

select 
(
    SELECT     [customerReferenceNumber] as customerReferenceNumber
              ,[customerType] as customerType
              ,[personReferenceNumber] as personReferenceNumber
              ,[organisationReferenceNumber] as organisationReferenceNumber
              ,json_query(isnull(product,'')) as product 
              ,json_query(isnull([address],'')) as address 

  FROM [dbo].[customer] 
  FOR JSON PATH, WITHOUT_ARRAY_WRAPPER) AS customer
from [dbo].[customer] P
  

信息13609,第16级,状态1,第2行   JSON文本格式不正确。意外字符“。”在位置0处找到。

1 个答案:

答案 0 :(得分:0)

默认情况下,JSONNULL VALUES不兼容。使用INCLUDE_NULL_VALUES进行处理。

例如:JSON PATH, WITHOUT_ARRAY_WRAPPER, INCLUDE_NULL_VALUES) AS customer

作为参考:  https://docs.microsoft.com/en-us/sql/relational-databases/json/include-null-values-in-json-include-null-values-option?view=sql-server-ver15