我的代码:
SELECT DISTINCT city FROM station
WHERE
city LIKE ('A%') OR
city LIKE ('E%') OR
city LIKE ('I%') OR
city LIKE ('O%') OR
city LIKE ('U%');
是否可以将LIKE
条件与不那么麻烦的东西结合起来? 在IN
%不起作用,所以我不能使用
SELECT DISTINCT city FROM station WHERE city IN ('A%', 'E%', 'I%', 'O%', 'U%')
我知道我可以使用
SELECT city FROM station WHERE LEFT(city,1) IN ('a', 'e', 'i', 'o', 'u');
但我只是对LIKE
用法感到好奇。
附言我正在学习SQL,而不受任何特定数据库管理系统的束缚。
您可以使用正则表达式
WHERE city REGEXP '^[aeiou]'
^ 字符串的开头
[...]方括号之间列出的任何字符
*在Mysql 5.7.26上尝试过这个
您可以使用REGEXP_LIKE。示例代码 -
SELECT DISTINCT city FROM station WHERE REGEXP_LIKE(city,'^a|^e|^i|^o|^u','i');