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