2012-01-26 3 views
15

При запуске SQL запроса я получил что-то вроде этого:Обновление таблицы вставка данных VARBINARY

Недопустимых неявное преобразования типа данных VARCHAR к типу данных VARBINARY .... Используйте функцию CONVERT для выполнения данного запроса , (Тяжесть 16) `

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

'00001200000000000010000000000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF...FFF' 

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

запрос выглядит следующим образом:

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

мы можем проверьте запрос – Pankaj

ответ

42

С SQL Server 2005 года Преобразовать делает то, что вы хотите:

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

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

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

См MSDN:

+0

Ben. Пожалуйста, отредактируйте свой ответ, чтобы я мог подняться. На прошлой неделе я, должно быть, нажал неверную кнопку ... мое намерение состояло в том, чтобы не делать этого. – granadaCoder

+0

Спасибо за комментарии сырого/формата. На самом деле меня спасает. –

+0

@granadaCoder, сделано, приветствия. – Ben

Смежные вопросы