SQL Server JSON -Datentyp

SQL Server JSON -Datentyp
JavaScript -Objektnotation oder kurz JSON ist ein Datenaustauschformat zum Speichern und Transport von Daten. Es wird stark in Anwendungen wie Dokumentdatenbanken verwendet, die Dokumenteindizes anstelle von Tabellen verwenden. Es ist auch die Standardsprache für API -Endpunkte für Operationen wie Einnahme und Ergebnisse.

In SQL können wir mit JSON -Daten arbeiten und sie in Zeilen und Spalten umwandeln, die wir in diesem Tutorial sehen werden.

Die Grundlagen

JSON -Daten sind in Sets von einzigartigen Schlüssel und ihren jeweiligen Paaren organisiert. Sie können auch mehrere Datensätze mit lockigen Klammern erstellen.

Die folgende Zeichenfolge zeigt ein Beispiel für einen gültigen JSON:


"id": 1,
"FirstName": "Rosanne",
"LastName": "Carbo",
"Date_of_birth": "1987-10-06",
"Stadt": "Vladiwostok",
"Land": "Turkmenistan",
"CountryCode": "Au",
"E -Mail": "[email protected] ",
"Höhe": 19.957,
"is_propyed": wahr,
"Gehalt": "$ 120000",
"Abteilung": "Datenbankentwickler"

Mit verschiedenen Methoden und Funktionen können wir JSON -Daten validieren und sie in eine SQL -Tabelle umwandeln.

SQL Server validieren JSON

SQL Server bietet Ihnen eine Funktion, um festzustellen, ob die bereitgestellte Zeichenfolge eine gültige JSON -Daten ist oder nicht.

Die Syntax ist wie gezeigt:

Isjson (Ausdruck)

Wo sich der Ausdruck auf den tatsächlichen JSON zu String bezieht, um die Gültigkeit zu testen.

deklarieren@var nvarchar (max)
set @var = '

"id": 1,
"FirstName": "Rosanne",
"LastName": "Carbo",
… Verkürzt…
"Gehalt": "$ 120000",
"Abteilung": "Datenbankentwickler"

''
if (isjson (@var)> 0)
Start
Drucken Sie 'gültiger JSON'
Ende

Die Abfrage sollte testen, ob die bereitgestellte Zeichenfolge eine gültige JSON -Daten ist und eine Ganzzahl zurückgibt. 1 gibt an, dass die Zeichenfolge gültig ist JSON und 0, falls anders.

Die obige Abfrage sollte zurückkehren:

Gültiges JSON

SQL Server ändern JSON -Daten

Mit SQL Server können Sie auch Daten ändern, die in einem JSON -String gespeichert sind. Mit der Funktion JSON_MODIFY können Sie den Wert einer bestimmten JSON -Eigenschaft ändern und die Aktualisierungs -JSON -Daten zurückgeben.

Zum Beispiel:

deklarieren @var nvarchar (max)
set @var = '

"id": 1,
"FirstName": "Rosanne",
"LastName": "Carbo",
"Gehalt": "$ 120000",
"Abteilung": "Datenbankentwickler"

''
setze @var = json_modify (@var, '$.Abteilung ', "Spieleentwickler");
Wählen Sie modifiedJson = @var;

Sobald wir die Daten ändern, sollte die Funktion den neuen JSON wie gezeigt zurückgeben:

SQL Server konvertieren JSON in ein Rowset

Mit der OpenJSON -Funktion, einer normalen SQL -Auswahlanweisung, können wir eine gültige JSON -Daten in ein SQL Server -Rowset umwandeln.

Das folgende Beispiel verwendet die Funktion openjson (), um den JSON in ein Rowset zu verwandeln. Wir verwenden dann die Auswahlanweisung, um die Daten abzufragen.

deklarieren @var nvarchar (max)
set @var = '

"id": 1,
"FirstName": "Rosanne",
"LastName": "Carbo",
"Gehalt": "$ 120000",
"Abteilung": "Datenbankentwickler"

''
wählen *
von openjson (@var)
mit (
Id int 'streng $.Ausweis',
FirstName Varchar (50) '$.Vorname',
Lastname Varchar (50) '$.Familienname, Nachname',
Gehaltsgeld '$.Gehalt',
Abteilung Varchar (50) '$.Abteilung'
);

Die obige Abfrage sollte eine gültige SQL -Tabelle wie gezeigt zurückgeben:

Obwohl wir eine einfache JSON -String verwendet haben, kann die Funktion openjson () tief verschachtelte JSON -Objekte verarbeiten.

Die strenge Eigenschaft in einem Pfad erfordert, dass in der angegebenen Eigenschaft der JSON -Zeichenfolge ein Wert vorhanden ist.

Konvertieren Sie SQL -Serverdaten in JSON

Sie können SQL -Serverdaten mit dem für JSON -Pfadparameter in einen gültigen JSON exportieren. Zum Beispiel:

Salesdb verwenden;
Wählen Sie die Top 5 -Namensschiffe "Produkte".Name ", Preis als" Produkt.Preis"
Aus Produkten
ForjsonPath;

Die obige Abfrage der Namen und Preisspalte aus der Produkttabelle, holen Sie die Top 5 Datensätze und exportieren Sie sie als JSON. Die Abfrage sollte einen Hyperlink zurückgeben, der die JSON -Zeichenfolge enthält:

Sie können den Hyperlink öffnen, um die JSON -Zeichenfolge anzuzeigen, die gespeichert ist wie:

Abschluss

Dieser Artikel hilft Ihnen, mit JSON -Daten in SQL Server zu arbeiten. Sie können JSON auf SQL Server validieren, JSON -Zeichenfolgen ändern, JSON -Daten in ein Rowset umwandeln und SQL Server -Daten in JSON exportieren.