SQL Server JSON Typ danych

SQL Server JSON Typ danych
Notacja obiektów JavaScript lub JSON, to format wymiany danych używany do przechowywania i transportu danych. Jest mocno używany w aplikacjach takich jak bazy danych dokumentów, które używają indeksów dokumentów zamiast tabel. Jest to również standardowy język punktów końcowych API dla operacji takich jak spożycie i wyniki.

W SQL możemy pracować z danymi JSON i przekonwertować je na wiersze i kolumny, które zobaczymy w tym samouczku.

Podstawy

Dane JSON są zorganizowane w zestawy unikalnych kluczy i ich odpowiednich par. Możesz także tworzyć wiele rekordów za pomocą klamr.

Poniższy ciąg pokazuje przykład prawidłowego JSON:


„ID”: 1,
„FirstName”: „Rosanne”,
„LastName”: „Carbo”,
„DATE_OF_BIRTH”: „1987-10-06”,
„City”: „Vladivostok”,
„Kraj”: „Turkmenistan”,
„CountryCode”: „au”,
„E -mail”: „[email protected] ",
„Wysokość”: 19.957,
„is_Employed”: true,
„Wynagrodzenie”: „120000 $”,
„Departament”: „Deweloper bazy danych”

Korzystając z różnych metod i funkcji, możemy potwierdzić dane JSON i przekształcić je w tabelę SQL.

SQL Server potwierdza JSON

SQL Server zapewnia funkcję do ustalenia, czy podany ciąg jest prawidłowym danymi JSON, czy nie.

Składnia jest jak pokazana:

IsJson (wyrażenie)

Gdzie wyrażenie odnosi się do faktycznego JSON do ciągu do przetestowania ważności.

Deklaruj@var nvarchar (max)
ustaw @var = '

„ID”: 1,
„FirstName”: „Rosanne”,
„LastName”: „Carbo”,
… Obcięte…
„Wynagrodzenie”: „120000 $”,
„Departament”: „Deweloper bazy danych”

'
if (isJSON (@var)> 0)
zaczynać
Wydrukuj „ważny JSON”
koniec

Zapytanie powinno przetestować, czy podany ciąg jest prawidłowym danym JSON i zwrócić liczbę całkowitą. 1 Wskazuje, że ciąg jest prawidłowy JSON i 0, jeśli inaczej.

Powyższe zapytanie powinno powrócić:

Ważny JSON

SQL Server modyfikuj dane JSON

SQL Server umożliwia również modyfikację danych przechowywanych w ciągu JSON. Korzystając z funkcji JSON_MODIFY, możesz zmienić wartość określonej właściwości JSON i zwrócić dane JSON aktualizacji.

Na przykład:

Deklaruj @var Nvarchar (Max)
ustaw @var = '

„ID”: 1,
„FirstName”: „Rosanne”,
„LastName”: „Carbo”,
„Wynagrodzenie”: „120000 $”,
„Departament”: „Deweloper bazy danych”

'
set @var = json_modify (@var, '$.dział ”,„ twórca gier ”);
Wybierz modyfikowaneJSON = @VAR;

Po zmianie danych funkcja powinna zwrócić nowy JSON, jak pokazano:

SQL Server konwertuje JSON na Rowset

Możemy przekonwertować prawidłowe dane JSON na Rowset SQL Server za pomocą funkcji OpenJson, normalnej instrukcji SQL Select.

Poniższy przykład używa funkcji OpenJson (), aby przekształcić JSON w ROWSET. Następnie używamy instrukcji Select, aby zapytać o dane.

Deklaruj @var Nvarchar (Max)
ustaw @var = '

„ID”: 1,
„FirstName”: „Rosanne”,
„LastName”: „Carbo”,
„Wynagrodzenie”: „120000 $”,
„Departament”: „Deweloper bazy danych”

'
wybierać *
od OpenJson (@VAR)
z (
Id int 'surowy $.ID',
FirstName varchar (50) '$.imię',
LastName varchar (50) '$.nazwisko',
pieniądze z wynagrodzenia '$.wynagrodzenie',
Department Varchar (50) '$.dział'
);

Powyższe zapytanie powinno zwrócić prawidłową tabelę SQL, jak pokazano:

Chociaż użyliśmy prostego ciągu JSON, funkcja OpenJson () może obsłużyć głęboko zagnieżdżone obiekty JSON.

Ścigna właściwość na ścieżce wymaga, aby wartość musiała istnieć w określonej właściwości ciągu JSON.

Konwertuj dane SQL Server na JSON

Możesz wyeksportować dane SQL Server do prawidłowego JSON za pomocą parametru ścieżki dla JSON. Na przykład:

Użyj SalesDB;
Wybierz Produkt 5 najlepszych nazwisk „.nazwa ", cena jako„ produkt.cena"
Z produktów
Forjsonpath;

Powyższe zapytanie Kolumna nazwy i ceny z tabeli produktów, pobieraj 5 najlepszych rekordów i wyeksportuj je jako JSON. Zapytanie powinno zwrócić hiperłącze zawierające ciąg JSON:

Możesz otworzyć hiperłącze, aby wyświetlić ciąg JSON przechowywany jako:

Wniosek

Ten artykuł pomaga rozpocząć pracę z danymi JSON na SQL Server. Możesz potwierdzić JSON w SQL Server, modyfikować Strings JSON, przekonwertować dane JSON na ROWSET i jak eksportować dane SQL Server do JSON.