Compartilhar via


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

Aplica-se a: SQL Server 2016 (13.x) e versões posteriores Azure SQL DatabaseAzure SQL Managed InstanceAzure Synapse Analytics (somente pool de SQL sem servidor)endpoint de análise de SQL no Microsoft FabricArmazém no Microsoft FabricBanco de dados SQL no Microsoft Fabric

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

Category Tipo de dados do SQL Server Tipo de dados JSON
Tipos de cadeia & de caracteres char, nchar, varchar, nvarchar cadeia
Tipos numéricos int, bigint, float, decimal, numeric number
Tipo de bit bit Booliano (verdadeiro ou falso)
Tipos de data & /hora date, datetime, datetime2, time, datetimeoffset cadeia
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 uma propriedade CLR para converter os dados de origem em um tipo de dados do SQL Server que possa 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 é então derivado do tipo de retorno da conversão que você aplica na instrução SELECT.
Outros tipos uniqueidentifier, money cadeia

Saiba mais sobre o JSON no Mecanismo de Banco de Dados SQL

Para obter uma introdução visual ao suporte interno ao JSON, confira os seguintes vídeos: