'[aeiou]'
- это класс символов регулярных выражений, который не поддерживается оператором LIKE
. Таким образом, ваш запрос не будет выполнять то, что вы ожидаете: на самом деле он ищет буквенную строку , которая начинается с '[aeiou]'
(и даже если бы это было так, вам нужно будет повторить выражение city like ...
дважды: city like ... and ...
тоже не делает то, что вы ожидаете.)
В найденном решении используется regexp_like()
со следующим регулярным выражением: ^[aeiou].*[aeiou]$
, что означает:
^ beginning of the string
[aeiou] one of the characters in the list
.* a sequence of 0 to N characters
[aeiou] one of the characters in the list
$ end of the string
Опция 'i'
делает регистр нечувствителен к регистру.
Это работает, но требует MySQL 8.0. Если вы используете более раннюю версию, попробуйте вместо этого использовать условие REGEXP
:
CITY REGEXP '^[aeiou].*[aeiou]$'