如何在sql的like操作符中获取元音?

mzmfm0qo  于 2021-07-29  发布在  Java
关注(0)|答案(2)|浏览(543)

我在解决来自hackerrank的sql问题。我必须做一个查询,这样它会给我所有城市的名字,以a,e,i,o或u开头。我使用了like运算符,但仍然是错误答案。
这是问题链接
这是我的解决办法-

SELECT DISTINCT CITY
FROM STATION
WHERE CITY LIKE '[AEIOU]%'

有人能解释一下吗?

xzv2uavs

xzv2uavs1#

LIKE 不支持该部分。您需要与此匹配的正则表达式:

SELECT DISTINCT CITY
FROM STATION
WHERE CITY REGEXP '^[AEIOU]'

在正则表达式中, ^ 表示字符串的开头,方括号定义了一个自定义字符类(意味着第一个字符必须属于该列表)。
另一方面,如果你用 LIKE ,则需要多个条件,这将使代码更长(可能效率更低):

WHERE 
    CITY LIKE 'A%' 
    OR CITY LIKE 'E%' 
    OR CITY LIKE 'I%'
    OR CITY LIKE 'O%'
    OR CITY LIKE 'U%'
ulmd4ohb

ulmd4ohb2#

select distinct city from station where Left(city,1)='A' or Left(city,1)='E' or Left(city,1)='I' or Left(city,1)='O' or Left(city,1)='U';

这对我很有效(sql女士)

相关问题