#tsql #sql-server-2019
#tsql #sql-сервер-2019
Вопрос:
Я пытаюсь читать из строки JSON, но там, где существуют пустые значения, мне нужно заменить значение NULL в SQL. Я пробовал NULLIF, но получил синтаксическую ошибку. Примеры в Интернете, похоже, имеют дело только с заменой значений JSON при обратной записи в JSON, а не при чтении.
SELECT js.* INTO #StringValues FROM OPENJSON (@myJsonString, N'
Возможно ли создать нулевые значения при чтении из JSON?
Комментарии:
1. Делай это в своем
SELECT
, а не вWITH
своем . Если бы вы не использовалиSELECT *
это, это было бы тривиально.2. Обратите внимание, что JSON
NULL
также поддерживает значения. Если у вас есть JSON и вы хотите""
бытьNULL
значениями, то на самом деле вы должны определять их какNull
в своем JSON.3. Да, полностью согласен. Это исходит из внешнего источника, поэтому я не могу контролировать пустые значения, даже если они не должны существовать.
4. Делать
SELECT
так, как вы советуете, отлично, спасибо. Пожалуйста, перейдите к ответу, и я приму его.
) WITH ( Foo nvarchar(50) N'$.Foo ' ,Bar nvarchar(250) NULLIF(N'$.Bar', N'') -- Syntax error ) AS js Возможно ли создать нулевые значения при чтении из JSON?
Комментарии:
1. Делай это в своем
SELECT
, а не вWITH
своем . Если бы вы не использовалиSELECT *
это, это было бы тривиально.2. Обратите внимание, что JSON
NULL
также поддерживает значения. Если у вас есть JSON и вы хотите""
бытьNULL
значениями, то на самом деле вы должны определять их какNull
в своем JSON.3. Да, полностью согласен. Это исходит из внешнего источника, поэтому я не могу контролировать пустые значения, даже если они не должны существовать.
4. Делать
SELECT
так, как вы советуете, отлично, спасибо. Пожалуйста, перейдите к ответу, и я приму его.