Mysql 为什么此查询返回的结果太多?

Mysql 为什么此查询返回的结果太多?,mysql,Mysql,我有一个mysql查询 Select * from tbl_schoolphotos where Filename like 'glasshouse_1_%' order by DateTaken 我想比赛 温室1_20122204123455 温室1_20122206102415 但不是 温室18_20122206102415 但这三个都是一样的。有人知道为什么吗?“在mysql中有特殊意义吗?因为下划线匹配任何单个字符是的,在mysql-LIKE中只匹配一个字符

我有一个mysql查询

Select * from tbl_schoolphotos where Filename like 
         'glasshouse_1_%' order by DateTaken
我想比赛

  • 温室1_20122204123455
  • 温室1_20122206102415
但不是

  • 温室18_20122206102415

但这三个都是一样的。有人知道为什么吗?“在mysql中有特殊意义吗?

因为下划线匹配任何单个字符

是的,
在mysql-LIKE中只匹配一个字符。

请求必须转义下划线才能正常工作

    Select * from tbl_schoolphotos where Filename like 
             'glasshouse\_1\_%' order by DateTaken
信息:喜欢和不喜欢有两个搜索帮助符号。下划线字符用于查找一个字符,百分比字符用于查找零个或多个字符


如果您不希望下划线成为搜索助手,则必须使用
\
对其进行转义,就像
\\

是的,下划线是与单个字符匹配的通配符。你可以用\(反斜杠)来逃避它。你可以试着用
\``来逃避它,比如
温室\\u1\%`