下划线'_'字符MYSQL

时间:2014-08-05 12:20:07

标签: mysql sql

我在数据库中得到一个包含斜杠字符的值。 / 例如

column_name
" ABCDEFGH XYZ IJ / KL"

SQL1

SELECT *  FROM `table` WHERE `column_name` LIKE '%XYZ IJ/KL'

SQL2

SELECT *  FROM `table` WHERE `column_name` LIKE '%XYZ IJ_KL'

使用SQL 1,它无法获取行但SQL2。 有谁知道为什么SQL 2成功了? 谢谢。

1 个答案:

答案 0 :(得分:1)

_表达式中的下划线LIKE是注释中提到的 deceze 的通配符。它意味着任何一个角色。

\表达式中的反斜杠LIKE是转义字符。

如果您需要匹配下划线,请使用\_,如果您需要匹配反斜杠,请使用\\\\

你似乎在你的问题中使用了正斜杠/,它不需要转义但不匹配反斜杠..如果你的DB值包含正斜杠;查询SQL1应返回该行。

LIKE comparison docs