1

我需要找到存储在 SQL Server 2008 上的 varbinary 字段中的字符串的一部分。存储在该字段中的数据是 HEX 二进制。

例如该领域有0xA0000000001A000000000000000000000000000000000000000000000000000000850000002416002F002A002000480065006C006C006F0020002A002F0007

我可以忽略前 37 个字符。当我在 SQL 应用程序中查看它时,它在前 37 个字符之后显示如下

/。.你好./

我知道十六进制二进制文件以 Unicode 格式存储。

我的问题是如何使用 SQL 语句搜索单词“Hello”。我在下面尝试了以下但我没有得到任何结果

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

我非常感谢我能得到的任何帮助

谢谢

4

1 回答 1

1

如果二进制值采用 Unicode 编码,则需要将其转换为NVARCHAR,并使用 Unicode 字符串文字作为搜索值:

SELECT CONVERT(nvarchar(max),fieldname) from tablename where fieldname like N'%Hello%';
于 2013-09-21T07:00:33.273 回答