Sql 具有多个值的通配符?

Sql 具有多个值的通配符?,sql,Sql,我有这些 编写查询以打印以元音a、e开头的城市列表, i、 o,u按字典顺序排列。不要打印副本 我的解决方案: 其他解决方案: 这是非常聪明的,但我想知道,如果有任何其他的方法来解决这个问题 任何类型的数据库都可以。在SQLserver中,您可以使用reg ex like语法和like: select distinct city from station where city like '[aeuio]%' Order by City MySQL/MariaDB中的正则表达式: select

我有这些

编写查询以打印以元音a、e开头的城市列表, i、 o,u按字典顺序排列。不要打印副本

我的解决方案:

其他解决方案:

这是非常聪明的,但我想知道,如果有任何其他的方法来解决这个问题


任何类型的数据库都可以。

在SQLserver中,您可以使用reg ex like语法和like:

select distinct city from station where city like '[aeuio]%' Order by City

MySQL/MariaDB中的正则表达式:

select distinct city from station where city regexp '^[aeiouAEIOU]' order by city
在SQL Server中

select distinct city from station 
 where charindex ('a',CITY) =1
    or charindex ('e',CITY) =1
    or charindex ('i',CITY) =1
    or charindex ('o',CITY) =1
    or charindex ('u',CITY) =1

如果ODBMS支持,您可以使用正则表达式。但是,语法因数据库而异。DISTINCT不是列上的函数,它是SELECT DISTINCT的一部分,适用于整个选定行。选择不同的c1、c2。。。等式。选择不同的c1,c2。。。等式:选择不同的c1,c2…后者仍然需要一个订单,请指定dbms,这样我们其他人就知道了!谢谢,它与SQLserver一起工作。在提出这个问题之前,我已经尝试过这些,但是使用了OracleDB@jarlh:我想知道如何解决许多DBMS:D关于OracleDB,我该如何解决这个问题?谢谢。@TrungNM,我已经知道了,但是为什么不同时使用哪个dbms解决方案呢?谢谢,它可以很好地使用MySQL。你能用OracleDB解决这个问题吗?谢谢你,我在OracleDB中找到了解决方案,选择了不同的城市和不同的车站,每个城市的顺序是“^[aeiouAEIOU]”;很好的解决方案。效果很好
select distinct city from station where city regexp '^[aeiouAEIOU]' order by city
select distinct city from station 
 where charindex ('a',CITY) =1
    or charindex ('e',CITY) =1
    or charindex ('i',CITY) =1
    or charindex ('o',CITY) =1
    or charindex ('u',CITY) =1