web-dev-qa-db-ja.com

hibernateとSQLの文字列クエリでアンダースコアをエスケープする方法は?

SQLクエリで指定された_(アンダースコア)は無視されます。

例:

SELECT * FROM employee WHERE NAME LIKE '%k_p%';

これは、k_pを含む行と一致し、多くの行をもたらします

誰かがSQLHibernateでこれを達成する方法を助けてくれませんか?ありがとう。

33
user2323036

エスケープしてみましたか:

SELECT * FROM employee WHERE NAME LIKE '%k\_p%';

\_だけでなく_

70
Michał Powaga

私はそれがかなり遅いことを知っていますが、他のプログラマーの解決策になる可能性があります。あなたが試すことができます

SELECT * FROM employee WHERE NAME LIKE '%k[_]p%';
0
Joginder Malik