Преобразование типов данных SQL Server в формат JSON с помощью предложения FOR JSON (SQL Server)

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

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

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

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

Дополнительные сведения о JSON в SQL Server и базе данных SQL Azure

Видео Майкрософт

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