Mysql 如何在hibernate和SQL中转义字符串查询中的下划线?

Mysql 如何在hibernate和SQL中转义字符串查询中的下划线?,mysql,sql,hibernate,Mysql,Sql,Hibernate,在SQL查询中给出的(下划线)不受尊重 例如: SELECT * FROM employee WHERE NAME LIKE '%k_p%'; 这与包含k\p 有没有人能在SQL和Hibernate中帮助实现这一点?谢谢。你试过逃避它吗: SELECT * FROM employee WHERE NAME LIKE '%k\_p%'; \\而不仅仅是\我知道这已经很晚了,但可以作为其他程序员的解决方案。 你可以试试 SELECT * FROM employee WHERE NAME LIKE

SQL
查询中给出的
(下划线)不受尊重

例如:

SELECT * FROM employee WHERE NAME LIKE '%k_p%';
这与包含
k\p


有没有人能在
SQL
Hibernate
中帮助实现这一点?谢谢。

你试过逃避它吗:

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

\\
而不仅仅是
\

我知道这已经很晚了,但可以作为其他程序员的解决方案。 你可以试试

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

您可以指定一个。例如,像“%k | | u p%”ESCAPE“|”。我的字符串可能有几个重复的下划线,我想逐字处理,但我也想在其中的某个地方匹配
%
,不想做很多转义。我发现我可以使用
RLIKE
而不是
LIKE
,只需使用正则表达式语法
*
而不是
%
,并简单地输入下划线。从现在起,我可能更喜欢SQL中的这一点,因为与JSON一样,我可能更喜欢将Regex作为另一种常见工具用于任何情况。是否有内置函数?@Pysis
*
是隐式的。您可以用
rlike'k_p'
代替
如'%k\'u p%
,也可以用
k_p$
代替
%k_p
,用
^k_p
代替
k_p%
。欢迎您的参与,我们非常感谢!请编辑您的问题并添加代码的简短解释。