Обновить таблицу с добавлением данных VARBINARY

Когда я запускаю sql-запрос, я получил что-то вроде этого:

Запрещено неявное преобразование из типа данных varchar в тип данных varbinary.... Используйте функцию CONVERT для запуска этого запроса. (строгость 16) `

Данные, которые я хочу вставить, выглядят как

'00001200000000000010000000000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF...FFF'

Как это сделать?

Запрос выглядит так:

UPDATE <table> SET VARBINARY_DATA = '00001200000000000010000000000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF....' WHERE ID = 12

Ответ 1

Начиная с SQL Server 2005, CONVERT делает то, что вы хотите:

CONVERT(varbinary(2000), '00001340132401324...', 2)

Стили для преобразования в/из двоичного файла:

  • 0: Исходные данные, ascii-кодовые точки становятся двоичными байтами, кодовые точки UTF-16 становятся двумя байтами каждый.
  • 1: формат Hex с префиксом '0x'
  • 2: формат шестнадцатеричного формата, а не префикс '0x'

См. MSDN: