Conversión por parte de FOR JSON de tipos de datos de SQL Server en tipos de datos JSON (SQL Server)

Se aplica a: SQL Server 2016 (13.x) y versiones posteriores de Azure SQL DatabaseAzure SQL Managed InstanceAzure Synapse Analytics (solo grupo de SQL sin servidor)

La cláusula FOR JSON usa las siguientes reglas para convertir tipos de datos SQL Server en tipos JSON en la salida JSON.

Category Tipos de datos de SQL Server Tipo de datos JSON
Tipos de carácter y cadena char, nchar, varchar, nvarchar string
Tipos numéricos int, bigint, float, decimal, numeric number
Tipo de bit bit Booleano (true o false)
Tipos de fecha y hora date, datetime, datetime2, time, datetimeoffset string
Tipos binarios varbinary, binary, image, timestamp, rowversion Cadena codificada en BASE64
Tipos CLR geometry, geography, otros tipos CLR No admitida. Estos tipos devuelven un error.

En la instrucción SELECT, use CAST o CONVERT, o bien use un método o propiedad CLR, para convertir los datos de origen en un tipo de datos SQL Server que pueda convertirse correctamente a un tipo JSON. Por ejemplo, use STAsText() para el tipo geometry o ToString() para cualquier tipo CLR. El tipo del valor de salida JSON se deriva del tipo de valor devuelto de la conversión aplicada en la instrucción SELECT.
Otros tipos uniqueidentifier, money string

Más información sobre JSON en SQL Server y Azure SQL Database

Vídeos de Microsoft

Para obtener una introducción visual a la compatibilidad integrada de JSON en SQL Server y Azure SQL Database, vea los siguientes vídeos:

Consulte también

Dar formato JSON a los resultados de consulta con FOR JSON (SQL Server)