我正在尝试从STATION查询不以元音开头且不以元音结尾的CITY名称列表。结果不能包含重复项。
一开始我尝试了这个:
select distinct CITY from STATION where (CITY NOT LIKE 'A%' or CITY NOT LIKE 'E%' or CITY NOT LIKE 'I%' or CITY NOT LIKE 'O%' or CITY NOT LIKE 'U%') and (CITY NOT LIKE '%a' or CITY not like '%e' or CITY not like '%i' or CITY not like '%o' or CITY not like '%u');
但是我没有得到正确的答案,因此没有进行搜索并编写以下代码,但该代码也没有给出正确的答案:
select distinct CITY from STATION where regexp_like(lower(CITY),'^[^aeiou].');
我希望只显示那些以元音开头和结尾的城市名称,但在第一个查询中将显示所有城市名称,而在第二个查询中,将不显示以元音开头的所有城市名称。
更容易阅读的是:
SELECT DISTINCT CITY FROM STATION WHERE SUBSTR(CITY,1,1) NOT IN ('A','E','I','O','U') AND SUBSTR(CITY,-1,1) NOT IN ('A','E','I','O','U');
请注意-1第二WHERE个子句中的,它告诉Oracle从字符串的末尾开始搜索。
-1
WHERE