Если вы намереваетесь сохранить строку Base64 как есть, вы можете использовать тип данных VARCHAR
. Кодировка Base64 была разработана для использования только 7-битных символов ASCII.
Однако, если вы предпочитаете хранить данные в двоичном формате, вам нужно будет использовать тип данных VARBINARY
и преобразовать строку Base64 в двоичный файл. Вы можете использовать функциональность XQuery (начиная с SQL Server 2005), чтобы легко преобразовывать значения в VARBINARY
и наоборот.
Преобразовать значение Base64 из переменной в VARBINARY
:
declare @str varchar(20);
set @str = '3qAAAA==';
select cast(N'' as xml).value('xs:base64Binary(sql:variable("@str"))', 'varbinary(20)');
Преобразовать двоичное значение в переменной в Base64:
declare @bin varbinary(20);
set @bin = 0xDEA00000;
select cast(N'' as xml).value('xs:base64Binary(xs:hexBinary(sql:variable("@bin")))', 'varchar(20)');
Источник (и другие примеры): Преобразование из Base64 в varbinary и наоборот .