从 STATION 查询不以元音开头且不以元音结尾的 CITY 名称列表。您的结果不能包含重复项。
输入格式
STATION表描述如下:
FIELD TYPE
ID NUMBER
CITY VARCHAR2(21)
STATE VARCHAR2(2)
LAT_N NUMBER
LONG_W NUMBER
Run Code Online (Sandbox Code Playgroud)
我写了下面的查询,但它不起作用。有什么建议吗?
SELECT DISTINCT (CITY)
FROM STATION
WHERE NOT regexp_like(lower(CITY),'^[aeiou].*')
AND regexp_like(lower(CITY),'.*[aeiou]$');
Run Code Online (Sandbox Code Playgroud)
您可以尝试这个版本:
SELECT DISTINCT CITY
FROM STATION
WHERE REGEXP_LIKE(CITY, '^[^aeiouAEIOU].*[^aeiouAEIOU]$');
Run Code Online (Sandbox Code Playgroud)
这里的正则表达式模式匹配不以元音开头和结尾的城市白名单。这是正则表达式模式的解释:
^ from the start of the city name
[^aeiouAEIOU] match a single non vowel character (lowercase or uppercase)
.* match any zero or more middle characters
[^aeiouAEIOU] match another single non vowel character
$ end of the city name
Run Code Online (Sandbox Code Playgroud)