MS SQL选择ntext-Column包含特定的十六进制字符串

时间:2013-04-19 10:28:23

标签: sql-server

我在mssql选择

时遇到问题

在我的表中有一个数据类型为ntext的列,我正在搜索特定的字符。 当我读取该值并将其转换为十六进制时,得到类似的东西

SELECT convert(varbinary(max),convert(nvarchar(max),COLUMN_Value))  FROM db.TABLE WHERE PK = 1234

0x3C005000200063006C006100730073003D004D0073006F004E006F0072006D0061006C0020007300740...

在十六进制值中有例如3C00,当我现在重写我的选择并搜索此值时,没有行匹配:/

SELECT * FROM db.TABLE WHERE convert(varbinary(max),convert(nvarchar(max),COLUMN_Value)) LIKE '%3C00%'

有谁知道这里的问题是什么?

2 个答案:

答案 0 :(得分:1)

最后我用以下查询

完成了它
SELECT * FROM db.TABLE WHERE CONVERT(varchar(max),convert(varbinary(max),convert(nvarchar(max),COLUMN_Value)),2) LIKE '%3C00%'; 

我使用了我的第一个查询(3C00)中的十六进制值,并找到了包含它的每一行

答案 1 :(得分:0)

试试这个

SELECT * FROM db.TABLE WHERE convert(nvarchar(max),COLUMN_Value) LIKE '%3C00%'