How FOR JSON converts SQL Server data types to JSON data types (SQL Server)
Applies to: SQL Server 2016 (13.x) and later Azure SQL Database Azure SQL Managed Instance Azure Synapse Analytics (serverless SQL pool only)
The FOR JSON
clause uses the following rules to convert SQL Server data types to JSON types in the JSON output.
Category | SQL Server data type | JSON data type |
---|---|---|
Character & string types | char, nchar, varchar, nvarchar | string |
Numeric types | int, bigint, float, decimal, numeric | number |
Bit type | bit | Boolean (true or false) |
Date & time types | date, datetime, datetime2, time, datetimeoffset | string |
Binary types | varbinary, binary, image, timestamp/rowversion | BASE64-encoded string |
CLR types | geometry, geography, other CLR types | Not supported. These types return an error. In the SELECT statement, use CAST or CONVERT , or use a CLR property or method, to convert the source data to a SQL Server data type that can be converted successfully to a JSON type. For example, use STAsText() for the geometry type, or use ToString() for any CLR type. The type of the JSON output value is then derived from the return type of the conversion that you apply in the SELECT statement. |
Other types | uniqueidentifier, money | string |
Learn more about JSON in SQL Server and Azure SQL Database
Microsoft videos
For a visual introduction to the built-in JSON support in SQL Server and Azure SQL Database, see the following videos:
Related content
Feedback
https://aka.ms/ContentUserFeedback.
Kommer snart: I hele 2024 udfaser vi GitHub-problemer som feedbackmekanisme for indhold og erstatter det med et nyt feedbacksystem. Du kan få flere oplysninger under:Indsend og få vist feedback om