mysql 谁能解释一下下面的问题出了什么问题

dfddblmv  于 2023-02-03  发布在  Mysql
关注(0)|答案(1)|浏览(93)

查询STATION中不以元音开头且不以元音结尾的CITY名称列表。结果不能包含重复项。

SELECT DISTINCT CITY 
FROM STATION 
WHERE (SUBSTR(CITY,1,1) 
AND SUBSTR(CITY,-1,1)) NOT IN ("a","e","i","o","u");

有人能解释一下这个MySQL查询有什么问题吗?

ljsrvy3e

ljsrvy3e1#

首字母 * 和末字母 * 都需要Assert:

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

我们也可以用正则表达式来处理这个问题:

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

相关问题