Modalità di conversione di FOR JSON dei tipi di dati SQL Server in tipi di dati JSON (SQL Server)How FOR JSON converts SQL Server data types to JSON data types (SQL Server)

QUESTO ARGOMENTO SI APPLICA A: sìSQL Server (a partire dalla versione 2016)sìDatabase SQL di AzurenoAzure SQL Data Warehouse noParallel Data Warehouse THIS TOPIC APPLIES TO: yesSQL Server (starting with 2016)yesAzure SQL DatabasenoAzure SQL Data Warehouse noParallel Data Warehouse

La clausola FOR JSON usa le regole seguenti per convertire i tipi di dati SQL Server in tipi JSON nell'output JSON.The FOR JSON clause uses the following rules to convert SQL Server data types to JSON types in the JSON output.

CategoryCategory Tipo di dati di SQL ServerSQL Server data type Tipo di dati JSONJSON data type
Tipi stringa e carattereCharacter & string types Char, nchar, varchar, nvarcharchar, nchar, varchar, nvarchar stringstring
Tipi numericiNumeric types int, bigint, float, decimal, numericint, bigint, float, decimal, numeric numbernumber
Tipo bitBit type bitbit Booleano (true o false)Boolean (true or false)
Tipi data e oraDate & time types date, datetime, datetime2, time, datetimeoffsetdate, datetime, datetime2, time, datetimeoffset stringstring
Tipi binariBinary types varbinary, binary, image, timestamp, rowversionvarbinary, binary, image, timestamp, rowversion Stringa con codifica BASE64BASE64-encoded string
Tipi CLRCLR types Geometry, geography, altri tipi CLRgeometry, geography, other CLR types Non supportato.Not supported. Questi tipi restituiscono un errore.These types return an error.

Nell'istruzione SELECT, utilizzare CAST o CONVERTIRE o utilizzare una proprietà CLR o un metodo per convertire i dati di origine a un tipo di dati di SQL Server che può essere convertito in un tipo JSON.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. Ad esempio, utilizzare stastext () per il tipo di geometria, o utilizzare ToString () per qualsiasi tipo CLR.For example, use STAsText() for the geometry type, or use ToString() for any CLR type. Il tipo del valore di output JSON è quindi derivato dal tipo restituito della conversione applicabili nell'istruzione SELECT.The type of the JSON output value is then derived from the return type of the conversion that you apply in the SELECT statement.
Altri tipiOther types uniqueidentifier, moneyuniqueidentifier, money stringstring

Acquisire familiarità con il supporto JSON integrato in SQL ServerLearn more about the built-in JSON support in SQL Server

Per un numero elevato di soluzioni specifiche, casi di utilizzo e indicazioni, vedere il post di blog sul supporto JSON predefinito in SQL Server e Database SQL di Azure per Microsoft Program Manager Jovan Popovic.For lots of specific solutions, use cases, and recommendations, see the blog posts about the built-in JSON support in SQL Server and in Azure SQL Database by Microsoft Program Manager Jovan Popovic.

Vedere ancheSee Also

Formattare i risultati delle query in formato JSON con FOR JSON (SQL Server)Format Query Results as JSON with FOR JSON (SQL Server)