Como FOR JSON converte tipos de dados do SQL Server para tipos de dados JSON (SQL Server)

Aplica-se a: SQL Server 2016 (13.x) e versões posteriores Banco de Dados SQL do AzureInstância Gerenciada de SQL do AzureAzure Synapse Analytics (somente pool de SQL sem servidor)

A cláusula FOR JSON usa as regras a seguir para converter os tipos de dados do SQL Server em tipos JSON na saída JSON.

Categoria Tipo de dados do SQL Server Tipo de dados JSON
Tipos de cadeia de caracteres e caracteres char, nchar, varchar, nvarchar string
Tipos numéricos int, bigint, float, decimal, numeric number
Tipo de Bit bit Booliano (verdadeiro ou falso)
Tipos de data e hora date, datetime, datetime2, time, datetimeoffset string
Tipos binários varbinary, binary, image, timestamp, rowversion Cadeia de caracteres codificada em BASE64
Tipos CLR geometria, geografia, outros tipos CLR Não há suporte. Estes tipos retornam um erro.

Na instrução SELECT, use CAST ou CONVERT ou use um método ou propriedade CLR para converter os dados de origem em um tipo de dados do SQL Server que pode ser convertido com êxito em um tipo JSON. Por exemplo, use STAsText() para o tipo de geometria ou ToString() para qualquer tipo CLR. O tipo do valor de saída JSON é derivado do tipo de retorno da conversão aplicada na instrução SELECT.
Outros tipos uniqueidentifier, money string

Saiba mais sobre JSON no SQL Server e no Banco de Dados SQL do Azure

Vídeos da Microsoft

Para obter uma introdução visual ao suporte interno para JSON no SQL Server e no Banco de Dados SQL do Azure, consulte os seguintes vídeos:

Confira também

Formatar os resultados da consulta como JSON com o FOR JSON (SQL Server)