通配符查询不工作mysql

时间:2014-01-03 14:50:02

标签: mysql sql wildcard

我在本地数据库上运行了以下查询,其中包含以m,u,e开头的名称,但由于某种原因,此查询没有返回任何内容。我试图搜索但没有找到解决方案。

查询:

SELECT * 
FROM umer
WHERE name LIKE  '[MUE]%'

此查询也是如此

SELECT * 
FROM umer
WHERE name LIKE  '[e-u]%'

以下是我的数据库的快照。

enter image description here

我做错了什么?

此致

2 个答案:

答案 0 :(得分:3)

正如Pattern Matching中所述,LIKE执行简单模式匹配,仅使用文字和通配符。它无法执行您尝试执行的复杂匹配。

但是,可以使用逻辑连接词组合多个这样的模式:

SELECT * FROM umer WHERE name LIKE 'M%' OR name LIKE 'U%' OR name LIKE 'E%'

或者使用RLIKE对正则表达式执行更复杂的匹配:

SELECT * FROM umer WHERE name RLIKE '^[MUE]'

答案 1 :(得分:0)

从add_kpis中选择col_name,其中kpi_name rlike'^ [tst]'