Обновить таблицу с добавлением данных 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: