1

SQL Server 2008 の varbinary フィールドに格納されている文字列の一部を見つける必要があります。フィールドに格納されているデータは HEX Binary です。

たとえば、フィールドには0xA0000000001A000000000000000000000000000000000000000000000000000000850000002416002F002A002000480065006C006C006F0020002A002F0007

最初の 37 文字は無視できます。これを SQL アプリケーションで見ると、最初の 37 文字の後に次のように表示されます。

/。.こんにちは./

16 進バイナリが 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 に答える