Получите название города либо не начинайте с гласных и не заканчивайте гласными - PullRequest
0 голосов
/ 15 апреля 2020

Запросите список названий CITY от STATION, которые не начинаются с гласных и не заканчиваются гласными. Ваш результат не может содержать дубликаты.

Формат ввода

Таблица STATION описывается следующим образом:

FIELD    TYPE
ID       NUMBER
CITY     VARCHAR2(21)
STATE    VARCHAR2(2)
LAT_N    NUMBER
LONG_W   NUMBER

Я пишу приведенный ниже запрос, но он не работает. Любое предложение?

SELECT DISTINCT (CITY) 
FROM STATION  
WHERE NOT regexp_like(lower(CITY),'^[aeiou].*') 
  AND regexp_like(lower(CITY),'.*[aeiou]$');

1 Ответ

3 голосов
/ 15 апреля 2020

Вы можете попробовать эту версию:

SELECT DISTINCT CITY
FROM STATION
WHERE REGEXP_LIKE(CITY, '^[^aeiouAEIOU].*[^aeiouAEIOU]$');

Шаблон регулярного выражения здесь соответствует белому списку городов, которые не начинаются и не заканчиваются гласной. Вот объяснение шаблона регулярных выражений:

^              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
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...