1

我在 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%'

有人知道这里有什么问题吗?

4

2 回答 2

1

最后我用下面的查询完成了

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

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

于 2013-05-06T12:44:40.923 回答
0

尝试这个

SELECT * FROM db.TABLE WHERE convert(nvarchar(max),COLUMN_Value) LIKE '%3C00%'
于 2013-04-19T10:38:41.877 回答