MySQL 通配符查询

标签 mysql sql

我对 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] 结尾。

如有任何帮助或建议,我们将不胜感激,谢谢!

最佳答案

如果您使用正则表达式,则可以使用 regexpRLIKE 代替 LIKE。您需要做的另一件事是输入 ^ 表示第一个字符,$ 表示最后一个字符,.* 表示通配符。请参阅thisthis :

SELECT DISTINCT CITY
FROM STATION
WHERE CITY RLIKE '^[aeiou].*[aeiou]$'

关于MySQL 通配符查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35303557/

相关文章:

php - 通过 php..html 将 mysql 表数据导出到 csv 文件也被转储

mysql - 错误 1054 (45S22) : Uknown column 'jeff' in 'field list'

mysql - 如何修改现有表以添加时区

php - 如何修改以下需要全局 session 打开到全局 session 关闭的代码

javascript - 显示来自成功ajax的图像

java - JOOQ 解析 orderBy 和 orderDirection 以与 dslcontext 一起使用

mysql - 选择具有 dup 值的最近项目

php - 在单个查询中检查某些用户 ID 是否与已登录用户为好友

java - sql.异常: column not found

sql - 在 SQL UNION 查询中添加列内容