我对 SQL 比较陌生,在做一些练习题时遇到了问题。
https://www.hackerrank.com/challenges/weather-observation-station-8
这是我在 MySQL 中使用的查询:
SELECT DISTINCT CITY FROM STATION WHERE CITY LIKE '[aeiou]%[aeiou]'
我很困惑为什么这不起作用。这是我对查询的想法:
SELECT DISTINCT CITY
^ 确保返回的每个城市不重复
FROM STATION
^ 来自 STATION 表
WHERE CITY LIKE '[aeiou]%[aeiou]'
^ 所选城市名称的第一个字母可以以 [aeiou] 开头,中间可以有任何内容,并以 [aeiou] 结尾。
如有任何帮助或建议,我们将不胜感激,谢谢!
最佳答案
如果您使用正则表达式,则可以使用 regexp
或 RLIKE
代替 LIKE
。您需要做的另一件事是输入 ^
表示第一个字符,$
表示最后一个字符,.*
表示通配符。请参阅this和 this :
SELECT DISTINCT CITY
FROM STATION
WHERE CITY RLIKE '^[aeiou].*[aeiou]$'
关于MySQL 通配符查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35303557/