我要打印所有不以元音开头的城市,也不要以元音结尾。
我知道有很多关于如何做到这一点的教程,但不能以特定字母开头。但是我找不到它,说了几个字母。

这是我尝试的:

select distinct city
from station
where city not like '%[aeiou]%';


所以如果我说

where city not like '%a'


我会得到不以字母a结尾的城市。

正在做:

where city not like 'a%'


我会得到不以字母a开头的城市

所以我的尝试:where city not like '%[aeiou]%';是将两者结合起来。 id不会引发错误,它确实会给我一个列表,但只是错误的结果。实际上,列表是如此之大,以至于我不知道我上面写的表情给我带来了什么。我尝试了其他几次尝试,但这可能是最合格的尝试。

如何获得不以元音开头或结尾的所有城市的列表?

最佳答案

您可以简单地使用SUBSTRING()函数:

WHERE LOWER(SUBSTRING(city, 1, 1)) NOT IN ('a', 'e', 'i', 'o', 'u')
AND LOWER(SUBSTRING(city, -1, 1)) NOT IN ('a', 'e', 'i', 'o', 'u')


我还在这里使用LOWER()函数,因此您不必对大写字母重复相同的操作。

关于mysql - 获取不是以元音开头或结尾的列表字符串,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/47017952/

10-16 13:33