从STATION查询以元音(即a,e,i,o或u)开头的CITY名称列表

时间:2019-02-28 07:09:57

标签: sql regex oracle regexp-like

CITY中查询以元音(即a,e,i,o或u)开头的STATION个名称列表。

我的答案/尝试代码是:

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

但这似乎不正确。

请帮助我。

12 个答案:

答案 0 :(得分:3)

正如BackSlash所评论的那样,您输入了错误的const getDataType = state => state.editor.dataType; 模式,应将其更改为REGEXP_LIKE,或者甚至可以从模式中省略'^[aeiou].+',因为只对字符串的第一个字母(包含多个字符)感兴趣:

.+

Example with test data

当心,只会返回以小写元音开头的工作站!如果您还想包括大写元音,而不是将它们添加到图案中,则:

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

或在select city from station where REGEXP_LIKE(city,'^[aeiouAEIOU]'); 调用中指定带有REGEXP_LIKE标志的输入模式不区分大小写,如下所示:

'i'

Example with test data

对MT0表示感谢,以获取有用的评论!

希望我们能提供帮助!

答案 1 :(得分:1)

使用SUBSTR

select t.city from station t where lower(SUBSTR(city,1,1)) in ('a','e','i','o','u')

答案 2 :(得分:1)

尝试使用MySQL解决方案:

select distinct CITY from STATION where substr(CITY,1,1) in ('a','e','i','o','u');

这里“ distinct”将解决重复值的问题,“ substring”函数从string中提取子字符串。子字符串还包含开始和长度。 有关更多详细信息,请访问链接:-https://www.w3schools.com/sql/func_mysql_substr.asp

答案 3 :(得分:1)

另一种获取输出的方式

select distinct CITY from STATION where left(city,1) in ('a', 'e', 'i', 'o', 'u')

答案 4 :(得分:0)

对我有用

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

答案 5 :(得分:0)

select distinct city from station where regexp_like(city, ‘^[aeiou]’, ‘i’)

另外,以元音 '[aeiou]$' 结尾,以元音 '^[aeiou]$' 开头和结尾 $- 结尾,^ 开头,i- 不区分大小写,也会选择以大写结尾的城市。

答案 6 :(得分:0)

对于 Mysql,这对我有用 -

  select DISTINCT(CITY) from STATION 
  where CITY REGEXP '^[aeiou].*';

答案 7 :(得分:0)

<块引用>

以下解决方案适用于 MySQL DATABASE

 SELECT DISTINCT CITY FROM STATION WHERE CITY LIKE 'a%' OR CITY LIKE 'e%' OR CITY LIKE 'i%' OR CITY LIKE 'o%' OR CITY LIKE 'u%';

答案 8 :(得分:0)

select distinct city from station where city ~*'^(a|e|i|o|u)[a-z]$';

这是针对 Postgres 的

答案 9 :(得分:-1)

SELECT distinct(city)
FROM station
WHERE city LIKE '[a,e,i,o,u]%'

答案 10 :(得分:-1)

在 MSSQL 服务器上:

SELECT DISTINCT(CITY) FROM STATION WHERE CITY LIKE '[a,e,i,o,u]%' ;

在 MySQL 上:

SELECT DISTINCT(CITY) FROM STATION WHERE SUBSTR(CITY,1,1) IN ('a','e','i','o','u');

答案 11 :(得分:-1)

SELECT DISTINCT CITY FROM STATION WHERE SUBSTR(CITY,1,1) IN ('A','E','I','O','U')