如何检索以元音开头和结尾的行?

时间:2018-11-23 15:31:45

标签: mysql

从STATION查询以元音(即a,e,i,o和u)为首尾两个字母的城市名称列表。您的结果不能包含重复项。

enter image description here

2 个答案:

答案 0 :(得分:1)

您可以尝试使用REGEXP

说明::以下查询将选择城市中所有以元音开头的DISTINCT行作为第一个字符,然后是其他任何字符,零次或多次,最后在末尾还包含元音个字符。

SELECT DISTINCT CITY
FROM STATION
WHERE CITY REGEXP '^[aeiouAEIOU].*[aeiouAEIOU]$'

答案 1 :(得分:0)

您可以使用LEFT()RIGHT()函数。 Left(CITY,1)将从左侧获得CITY的第一个字符。 Right(CITY,1)将从右开始获得CITY的第一个字符(CITY的最后一个字符)。

DISTINCT用于删除重复项。为了使比较不区分大小写,我们将使用LOWER()函数。

SELECT DISTINCT CITY
FROM STATION
WHERE LOWER(LEFT(CITY,1)) IN ('a', 'e', 'i', 'o', 'u') AND
      LOWER(RIGHT(CITY,1)) IN ('a', 'e', 'i', 'o', 'u')