Поделиться через


Как FOR JSON преобразовывает типы данных SQL Server в формат JSON

Относится к: SQL Server 2016 (13.x) и более поздних версиях; Azure SQL Database,Azure SQL Managed Instance,Azure Synapse Analytics (только для serverless SQL pool), SQL аналитический конечный пункт в Microsoft Fabric; Склад в Microsoft Fabric,SQL база данных в Microsoft Fabric

Предложение FOR JSON использует следующие правила для преобразования типов данных SQL Server в типы JSON в JSON-выходных данных.

Category Тип данных SQL Server Тип данных JSON
Знаковые и строковые типы char, nchar, varchar, nvarchar string
Числовые типы int, bigint, float, decimal, numeric number
Тип бита bit Boolean (истина или ложь)
Типы даты и времени дата, дата и время, дата и время 2, время, смещение даты и времени string
Двоичные типы varbinary, binary, image, timestamp/rowversion Строка в кодировке BASE64
Типы CLR geometry, geography, другие типы CLR Не поддерживается. Эти типы возвращают ошибку.

В инструкции SELECT используйте CAST или CONVERT, или используйте свойство или метод CLR, чтобы преобразовать исходные данные в тип данных SQL Server, который можно успешно преобразовать в тип JSON. Например, используйте STAsText() для геометрического типа или используйте ToString() для любого типа CLR. Затем тип выходного значения JSON является производным от возвращаемого типа преобразования, применяемого в инструкции SELECT .
Другие типы uniqueidentifier, деньги string

Дополнительные сведения о JSON в ядре СУБД SQL

Дополнительные сведения о встроенной поддержке JSON см. в следующих видео: