Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Dotyczy: SQL Server 2016 (13.x) i nowsze wersje
usługi Azure SQL Database
Azure SQL Managed Instance
Azure Synapse Analytics
— punkt końcowy analizy SQL w usłudze Microsoft Fabric
Warehouse w
bazie danych Microsoft Fabric SQL Database w usłudze Microsoft Fabric
Składnia ISJSON sprawdza, czy ciąg zawiera prawidłowy kod JSON.
Transact-SQL konwencje składni
Syntax
ISJSON ( expression [, json_type_constraint] )
Arguments
expression
Ciąg do przetestowania.
json_type_constraint
Określa typ JSON do zaewidencjonowania danych wejściowych. Prawidłowe wartości to VALUE, , ARRAYOBJECTlub SCALAR. Wprowadzono w programie SQL Server 2022 (16.x).
Note
Argument json_type_constraint nie jest obsługiwany w dedykowanych pulach usługi Azure Synapse Analytics
Wartość zwracana
Zwraca 1 wartość , jeśli ciąg zawiera prawidłowy kod JSON; w przeciwnym razie zwraca wartość 0. Zwraca wartość NULL , jeśli wyrażenie ma wartość null.
Jeśli instrukcja pomija json_type_constraint, funkcja sprawdza, czy dane wejściowe są prawidłowym obiektem lub tablicą JSON i zwracają w przeciwnym razie wartość 10.
Jeśli określono json_type_constraint , funkcja sprawdza typ JSON w następujący sposób:
| Value | Description |
|---|---|
VALUE |
Testuje prawidłową wartość JSON. Może to być obiekt JSON, tablica, liczba, ciąg lub jedna z trzech wartości literału (false, true, null) |
ARRAY |
Testy prawidłowej tablicy JSON |
OBJECT |
Testy prawidłowego obiektu JSON |
SCALAR |
Testy prawidłowego skalarnego kodu JSON — liczba lub ciąg |
Wartość json_type_constraint SCALAR może służyć do testowania dla zgodnego dokumentu JSON JSON IETF RFC 8259, który zawiera tylko wartość skalarną JSON na najwyższym poziomie. Dokument JSON, który nie zawiera wartości skalarnej JSON na najwyższym poziomie, jest zgodny z IETF RFC 4627.
Nie zwraca błędów.
Remarks
ISJSON nie sprawdza unikatowości kluczy na tym samym poziomie.
Examples
Przykład 1
Poniższy przykład uruchamia blok instrukcji warunkowo, jeśli wartość @param parametru zawiera prawidłowy kod JSON.
DECLARE @param <data type>
SET @param = <value>
IF (ISJSON(@param) > 0)
BEGIN
-- Do something with the valid JSON value of @param.
END
Przykład 2
Poniższy przykład zwraca wiersze, w których kolumna json_col zawiera prawidłowy kod JSON.
SELECT id, json_col
FROM tab1
WHERE ISJSON(json_col) = 1
Przykład 3
Poniższy przykład zwraca wiersze, w których kolumna json_col zawiera prawidłową wartość SCALAR w formacie JSON na najwyższym poziomie.
SELECT id, json_col
FROM tab1
WHERE ISJSON(json_col, SCALAR) = 1
Przykład 4
Poniższy przykład zwraca wartość 1, ponieważ dane wejściowe są prawidłową wartością JSON — true.
SELECT ISJSON('true', VALUE)
Przykład 5
Poniższy przykład zwraca wartość 0, ponieważ dane wejściowe są nieprawidłową wartością JSON.
SELECT ISJSON('test string', VALUE)
Przykład 6
Poniższy przykład zwraca wartość 1, ponieważ dane wejściowe są prawidłowym skalarnym formatem JSON zgodnie z RFC 8259.
SELECT ISJSON('"test string"', SCALAR)