Запросить список названий CITY, начинающихся с гласных (то есть, a, e, i, o или u) из STATION - PullRequest
0 голосов
/ 28 февраля 2019

Запрос списка CITY имен, начинающихся с гласных (то есть, a, e, i, o или u) из STATION.

Мой ответ / пробный код:

select city from station where REGEXP_LIKE(city,'[^aeiou]+');

Но, похоже, это не правильно.

Пожалуйста, помогите мне с этим.

Ответы [ 2 ]

0 голосов
/ 28 февраля 2019

Как уже прокомментировал BackSlash, вы написали неправильный шаблон REGEXP_LIKE, и вы должны изменить его на '^[aeiou].+', или вы можете даже пропустить .+ из своего шаблона, так как вас интересует только первыйбуква вашей строки (содержащая более 1 символа):

select city from station where REGEXP_LIKE(city,'^[aeiou]');

Пример с тестовыми данными

Остерегайтесь, чтобы возвращались только те станции, которые начинаются с строчных гласных букв!Если вы также хотите включить гласные в верхнем регистре, добавьте их в шаблон:

select city from station where REGEXP_LIKE(city,'^[aeiouAEIOU]');

или укажите в вызове REGEXP_LIKE, что введенный шаблон не чувствителен к регистру с флагом 'i', например:

select city from station where REGEXP_LIKE(city,'^[aeiou]', 'i');

Пример с тестовыми данными

Спасибо MT0 за полезный комментарий!

Надеюсь, мы помогли!

0 голосов
/ 28 февраля 2019

использование SUBSTR

select t.city from station t where lower(SUBSTR(city,1,1)) in ('a','e','i','o','u')
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...