2013-09-20 3 views
1

Мне нужно найти часть строки, которая хранится в поле varbinary на SQL Server 2008. Данные, хранящиеся в поле, находятся в HEX Binary.SQL-строка поиска в Unicode HEX

Например, поле имеет 0xA0000000001A000000000000000000000000000000000000000000000000000000850000002416002F002A002000480065006C006C006F0020002A002F0007

можно игнорировать первые 37 символов. Когда я смотрю на это в приложении SQL, он читается следующим образом после первых 37 символов

/. .H.e.l.l.o. ./

Я знаю, что шестнадцатеричный двоичный файл хранится в формате Unicode.

Мой вопрос в том, как я могу найти слово «Hello», используя SQL-заявление. Я попытался ниже следующие, но я не получаю никаких результатов

SELECT CONVERT(varchar(max),fieldname) from tablename where fieldname like '%Hello%; 

Я бы очень признателен за любую помощь, которую я могу получить

Благодарности

ответ

1

Если двоичное значение в кодировке Unicode вам, необходимо будет указать его на NVARCHAR, а также использовать строковый литерал Юникода для значения поиска:

SELECT CONVERT(nvarchar(max),fieldname) from tablename where fieldname like N'%Hello%'; 
Смежные вопросы