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%
。欢迎您的参与,我们非常感谢!请编辑您的问题并添加代码的简短解释。