为什么LIKE查询在mysql中不起作用?

时间:2018-07-23 19:59:44

标签: mysql sql

我有以下查询...

SELECT * 
FROM customers
WHERE first_name LIKE '[aeiou]%';

结果显示为:

EMPTY SET

为什么会这样?即使我在表中以aeiou开头的​​条目足够多?但是,它适用于:

WHERE first_name LIKE 'C%';

请帮助!

2 个答案:

答案 0 :(得分:4)

MySQL中的

LIKE不支持像[aeiou]这样的字符集。它具有的唯一模式是%可以匹配任意数量的字符,_可以匹配任何单个字符。

您需要使用正则表达式:

WHERE first_name REGEX '^[aeiou]'

答案 1 :(得分:0)

如果您需要检查任何以元音开头的匹配记录,请使用下面的一个

SELECT first_name 
FROM   customers
WHERE  first_name RLIKE '^[aeiouAEIOU].*[aeiouAEIOU]$'