JSON_PATH_EXISTS (Transact-SQL)
применимо к: SQL Server 2022 (16.x)
Базе данных SQL Azure
Управляемому экземпляру SQL Azure
конечной точке Аналитики Azure Synapse Analytics
SQL в хранилище
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 AS 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 AS NVARCHAR (MAX);
SET @jsonInfo = N'{"info":{"address":[{"town":"Paris"},{"town":"London"}]}}';
SELECT JSON_PATH_EXISTS(@jsonInfo, '$.info.addresses');
Вот результирующий набор.
0