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

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

Предложение FOR JSON использует приведенные здесь правила для преобразования типов данных SQL в 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 для преобразования исходных данных в тип данных SQL Server, который можно конвертировать в тип JSON, используйте CAST или CONVERT либо свойство или метод CLR. Например, для любого типа CLR используйте ToString(), а для типа geometry — STAsText(). Тип выходного значения JSON определяется типом данных, полученным после конвертации, которая была выполнена согласно инструкции SELECT.
Другие типы uniqueidentifier, money строка

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

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

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

См. также

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