So konvertiert FOR JSON SQL Server-Datentypen in JSON-Datentypen (SQL Server)

Gilt für: SQL Server 2016 (13.x) und höher Azure SQL-Datenbank Azure SQL verwaltete Instanz Azure Synapse Analytics (nur serverloser SQL-Pool)

Die FOR JSON -Klausel verwendet die folgenden Regeln, um SQL Server-Datentypen in JSON-Typen in der JSON-Ausgabe zu konvertieren.

Kategorie SQL Server-Datentyp JSON-Datentyp
Zeichen- und Zeichenfolgetypen char, nchar, varchar, nvarchar Zeichenfolge
Numerische Typen int, bigint, float, decimal, numeric Zahl
Bit-Typ bit Boolesche Werte ("true" oder "false")
Datum- und Uhrzeittypen date, datetime, datetime2, time, datetimeoffset Zeichenfolge
Binärtypen varbinary, binary, image, timestamp, rowversion BASE64-codierte Zeichenfolge
CLR-Typen geometry, geography, andere CLR-Typen Wird nicht unterstützt. Diese Typen geben einen Fehler zurück.

Verwenden Sie in der SELECT-Anweisung CAST oder CONVERT, oder verwenden Sie eine CLR-Eigenschaft oder -Methode, um die Quelldaten in einen SQL Server-Datentyp zu konvertieren, der erfolgreich in einen JSON-Typ konvertiert werden kann. Verwenden Sie z.B. STAsText() für den Geometrietyp oder ToString() für alle CLR-Typen. Der Typ des JSON-Ausgabewerts wird dann abgeleitet aus dem Rückgabetyp der Konvertierung, die Sie auf die SELECT-Anweisung anwenden.
Andere Typen uniqueidentifier, money Zeichenfolge

Weitere Informationen zu JSON in SQL Server und Azure SQL-Datenbank

Microsoft-Videos

Eine visuelle Einführung in die JSON-Unterstützung, die in SQL Server und Azure SQL-Datenbank integriert ist, finden Sie in den folgenden Videos:

Weitere Informationen

Formatieren von Abfrageergebnisse als JSON mit FOR JSON (SQL Server)