是否可以在SQL中组合LIKE条件?



我的代码:

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');

最新更新