Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Aplica-se a: SQL Server 2016 (13.x) e versões posteriores
do Banco de Dados SQL
doAzure Azure Instância
Gerenciada de SQLdo Azure Synapse Analytics
ponto deextremidade de análise de SQL no Microsoft Fabric
Warehouse no Banco de Dados SQLdo Microsoft Fabric
no Microsoft Fabric
A ISJSON sintaxe testa se uma cadeia de caracteres contém JSON válido.
Convenções de sintaxe de Transact-SQL
Syntax
ISJSON ( expression [, json_type_constraint] )
Arguments
expression
A cadeia de caracteres a ser testada.
json_type_constraint
Especifica o tipo JSON a ser verificado na entrada. Os valores válidos são VALUE, ARRAY, OBJECT ou SCALAR. Introduzido no SQL Server 2022 (16.x).
Note
Não há suporte para o argumento json_type_constraint nos pools dedicados do Azure Synapse Analytics
Valor de retorno
Retorna 1 se a cadeia de caracteres contém JSON válido; caso contrário, retorna 0. Retorna NULL se a expressão for nula.
Se a instrução omitir json_type_constraint, a função testará se a entrada for um objeto ou matriz JSON válido e retornará 1 caso contrário, retornará 0.
Se o json_type_constraint for especificado, a função verificará o tipo JSON da seguinte maneira:
| Value | Description |
|---|---|
VALUE |
Testes para um valor JSON válido. Isso pode ser um objeto JSON, matriz, número, cadeia de caracteres ou um dos três valores literais (false, true, null) |
ARRAY |
Testes para uma matriz JSON válida |
OBJECT |
Testes para um objeto JSON válido |
SCALAR |
Testes para um escalar JSON válido – número ou cadeia de caracteres |
O valor de json_type_constraint SCALAR pode ser usado para testar o documento JSON compatível com IETF RFC 8259 que contém apenas um valor escalar JSON no nível superior. Um documento JSON que não contém um valor escalar JSON no nível superior está em conformidade com o IETF RFC 4627.
Não retorna erros.
Remarks
ISJSON não verifica a exclusividade das chaves no mesmo nível.
Examples
Exemplo 1
O exemplo a seguir executará um bloco de instruções condicionalmente se o valor do parâmetro @param contiver um JSON válido.
DECLARE @param <data type>
SET @param = <value>
IF (ISJSON(@param) > 0)
BEGIN
-- Do something with the valid JSON value of @param.
END
Exemplo 2
O exemplo a seguir retorna linhas em que a coluna json_col contém um JSON válido.
SELECT id, json_col
FROM tab1
WHERE ISJSON(json_col) = 1
Exemplo 3
O exemplo a seguir retorna linhas em que a coluna json_col contém um valor SCALAR JSON válido no nível superior.
SELECT id, json_col
FROM tab1
WHERE ISJSON(json_col, SCALAR) = 1
Exemplo 4
O exemplo a seguir retorna 1, uma vez que a entrada é um valor JSON válido – true.
SELECT ISJSON('true', VALUE)
Exemplo 5
O exemplo a seguir retorna 0, já que a entrada é um valor JSON inválido.
SELECT ISJSON('test string', VALUE)
Exemplo 6
O exemplo a seguir retorna 1, já que a entrada é um valor scalar JSON válido de acordo com RFC 8259.
SELECT ISJSON('"test string"', SCALAR)