在MySQL中查找至少2个元音的名称

时间:2015-12-04 10:04:18

标签: mysql sql

我需要在表格中找到包含2个或更多元音的名​​字。

我在尝试

SELECT name FROM players WHERE name LIKE '%[aeiou]%[aeiou]%';

但我对此查询没有结果,有人可以帮助我并告诉我我的错误在哪里吗?

2 个答案:

答案 0 :(得分:5)

使用正则表达式可以确定某个值是否包含两个以上的元音。

SELECT `name` FROM `players` WHERE `name` REGEXP '([aeiou].*){2}'

SQL fiddle

答案 1 :(得分:1)

  

您可以在正则表达式的帮助下完成工作   你可能会喜欢..

此查询用于查找任意数量的元音字母。

SELECT name FROM players where lower(name)  REGEXP 'a|e|i|o|u';

SQL fiddle

OR

SELECT name FROM players where lower(name)  REGEXP '[aeiou]';

SQL fiddle

此查询用于查找两个以上的元音字母。

SELECT name FROM players where lower(name)  REGEXP '([a|e|i|o|u].*){2}';

SQL fiddle

OR

SELECT name FROM players where lower(name)  REGEXP '([aeiou].*){2}';

SQL fiddle

enter image description here

http://dev.mysql.com/doc/refman/5.7/en/regexp.html