Condividi tramite


Modalità di conversione in FOR JSON dei tipi di dati SQL Server in tipi di dati JSON

Si applica a: SQL Server 2016 (13.x) e versioni successive Azure SQL DatabaseAzure SQL Managed InstanceAzure Synapse Analytics (solo pool SQL senza server)Endpoint di analisi SQL in Microsoft FabricMagazzino in Microsoft FabricDatabase SQL in Microsoft Fabric

La clausola FOR JSON usa le regole seguenti per convertire i tipi di dati SQL Server in tipi JSON nell'output JSON.

Category Tipo di dati di SQL Server Tipo di dati JSON
Tipi stringa e carattere char, nchar, varchar, nvarchar string
Tipi numerici int, bigint, float, decimal, numeric number
Tipo di bit bit Booleano (vero o falso)
Tipi data e ora date, datetime, datetime2, time, datetimeoffset string
Tipi binari varbinary, binary, image, timestamp/rowversion Stringa con codifica BASE64
Tipi CLR geometry, geography, altri tipi CLR Non supportato. Questi tipi restituiscono un errore.

Nell'istruzione SELECT usare CAST o CONVERT, oppure una proprietà o un metodo CLR, per convertire i dati di origine in un tipo di dati SQL Server convertibile correttamente in un tipo JSON. Usare ad esempio STAsText() per il tipo geometry o ToString() per qualsiasi tipo CLR. Il tipo del valore di output JSON è quindi derivato dal tipo restituito della conversione che si usa nell'istruzione SELECT.
Altri tipi uniqueidentifier, money string

Altre informazioni su JSON nel motore di database SQL

Per un'introduzione visiva al supporto JSON predefinito, vedere i video seguenti: