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


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

применимо к: SQL Server 2016 (13.x) и более поздним версиям Базе данных SQL AzureУправляемому экземпляру SQL AzureAzure Synapse Analytics (только бессерверный пул SQL)конечной точке аналитики SQL в хранилище microsoft Fabricв Microsoft Fabric

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

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

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

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

Наглядные инструкции по встроенной поддержке JSON в SQL Server и базе данных SQL Azure см. в следующих видео.