在SQL中,我想显示以元音结尾的所有城市的名称
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在SQL中,我想显示以元音结尾的所有城市的名称相关的知识,希望对你有一定的参考价值。
我写了以下查询
SELECT UNIQUE
CITY
FROM
STATION
WHERE
(CITY LIKE '%A' OR
CITY LIKE '%E' OR
CITY LIKE '%I' OR
CITY LIKE '%O' OR
CITY LIKE '%U')
ORDER BY
CITY;
这有什么问题?
答案
如果你想让它用低/高字母,你可以使用UPPER(CITY)
,否则它都很好。
另一答案
您可以将此代码用于您的目的!
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')
另一答案
使用正则表达式
SELECT DISTINCT(name) FROM city WHERE LOWER(name) RLIKE '.*[aeiou]$'
另一答案
我认为这
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';
另一答案
最简单的是使用正则表达式:
SELECT
CITY
FROM
STATION
WHERE
CITY RLIKE "[aeiouAEIOU]$";
另一答案
SELECT
Distinct(CITY)
FROM
STATION
WHERE
UPPER(SUBSTR(CITY,1,1)) IN ('A','E','I','O','U');
它在mysql中运行。
另一答案
在SQL Server中,这可能是答案的其他版本
select distinct city
from station
where right(city,1) in ('a','e','i','o','u')
另一答案
对于Oracle
select DISTINCT(CITY) from STATION where upper(SUBSTR(CITY,-1,1)) IN ('A','I','O','E','U');
另一答案
如果您使用MySQL,请尝试以下解决方案:
SELECT UNIQUE CITY
FROM STATION
WHERE (CITY REGEXP '%A$' OR CITY REGEXP '%E$' OR CITY REGEXP '%I$' OR CITY REGEXP '%O$' OR CITY REGEXP '%U$')
ORDER BY CITY;
另一答案
我想你可以像这样使用REGEXP_LIKE
:
SELECT UNIQUE CITY
FROM STATION
WHERE REGEXP_LIKE(CITY, '[AaEeIiOoUu]$')
ORDER BY CITY;
另一答案
这对我有用(Oracle 11g):
select distinct
s.city
from
station s
where
upper(substr(s.city,-1,1)) in ('A','E','I','O','U');
另一答案
在我看来,这样做会更容易:
SELECT DISTINCT CITY
FROM STATION
WHERE CITY LIKE '%[AaEeIiOoUu]'*
另一答案
使用upper函数。此函数将帮助您大写文本字母。
SELECT DISTINCT CITY
FROM STATION
WHERE UPPER(CITY) LIKE '%A'
OR UPPER(CITY) LIKE '%E'
OR UPPER(CITY) LIKE '%I'
OR UPPER(CITY) LIKE '%O'
OR UPPER(CITY) LIKE '%U';
另一答案
我们可以为regexp
提供另一个参数来处理区分大小写:
i
- 不区分大小写,c
- 区分大小写
例如:
select distinct city
from station
where regexp_like(city,'[aeiou]$','i')
order by city
另一答案
以下解决方案适用于Oracle DB:
select distinct(city)
from station
where UPPER(substr(city,1,1))
in ('A','E','I','O','U');
如果您不使用UPPER,那么城市名称以小写字母开头的测试用例将失败。
另一答案
SELECT UNIQUE CITY FROM STATION
WHERE
(CITY LIKE 'A%' OR
CITY LIKE 'E%' OR
CITY LIKE 'I%' OR
CITY LIKE 'O%' OR
CITY LIKE 'U%');
%外卡字符应该在字母表后面
另一答案
在MySql中
select distinct city
from Station
where ( city regexp '.[aeiou]$' );
以上是关于在SQL中,我想显示以元音结尾的所有城市的名称的主要内容,如果未能解决你的问题,请参考以下文章