1

mssql の選択で問題が発生しました

私のテーブルには、データ型が ntext の列があり、特定の文字を検索しています。値を読み取って16進数に変換すると、そのようなものが得られます

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

0x3C005000200063006C006100730073003D004D0073006F004E006F0072006D0061006C0020007300740...

16 進数値には、たとえば 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) の 16 進値を使用し、それを含むすべての行を見つけました

于 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 に答える