Поделиться через


JSON_PATH_EXISTS (Transact-SQL)

Область применения: SQL Server 2016 (13.x) и более поздних версий База данных SQL Azure Управляемый экземпляр SQL Azure конечную точку аналитики SQL Azure Synapse Analytics в хранилище Microsoft Fabric в Microsoft Fabric

Проверяет, существует ли указанный путь SQL/JSON во входной строке JSON.

Соглашения о синтаксисе Transact-SQL

Синтаксис

JSON_PATH_EXISTS( value_expression, sql_json_path )

Аргументы

value_expression

Символьное выражение.

sql_json_path

Допустимый путь SQL/JSON для тестирования во входных данных.

Возвращаемое значение

Возвращает целое значение 1 или 0 NULL. Возвращает, NULL является ли value_expression или входным значением SQL NULL . Возвращает, 1 существует ли заданный путь SQL/JSON во входных данных или возвращает непустую последовательность. Возвращается 0 в противном случае.

Функция JSON_PATH_EXISTS не возвращает ошибки.

Примеры

Пример 1

В следующем примере возвращается значение 1, так как входная строка JSON содержит указанный путь SQL/JSON.

DECLARE @jsonInfo NVARCHAR(MAX)

SET @jsonInfo=N'{"info":{"address":[{"town":"Paris"},{"town":"London"}]}}';

SELECT JSON_PATH_EXISTS(@jsonInfo,'$.info.address'); -- 1

Пример 2

В следующем примере возвращается значение 0, так как входная строка JSON не содержит указанный путь SQL/JSON.

DECLARE @jsonInfo NVARCHAR(MAX)

SET @jsonInfo=N'{"info":{"address":[{"town":"Paris"},{"town":"London"}]}}';

SELECT JSON_PATH_EXISTS(@jsonInfo,'$.info.addresses'); -- 0