2

references_int多数の値を持つテキスト フィールドを持つテーブル (A と呼びましょう) があります。一例は'internal\reference[111]'です。

私が行った場合

SELECT * 
FROM A 
WHERE references_int LIKE 'internal\\reference[111]'

ゼロ行が返されます。しかし、私はそれを置き換えるLIKE=動作します。

検索クエリを簡素化するフレームワークを使用していLIKEますが、.. を使用する方法はありますか?

それがバグなのか機能なのかわかりません。

ありがとう!

4

1 に答える 1

5

それぞれエスケープ\:

SELECT * 
FROM A 
WHERE references_int LIKE 'internal\\\\reference[111]'

デフォルトでは、ESCAPE文字を toに指定しない場合、ドキュメントLIKEに従って、\が想定されます。別の方法は、別の文字を使用することです。ESCAPE

SELECT * 
FROM A 
WHERE 'internalrefer\\ence[111]' LIKE 'internalrefer\\ence[111]' ESCAPE '#'
于 2012-08-27T23:18:34.100 に答える