这是两个不同的```RLIKE ^ [^ aeiou]`''和```NOT RLIKE ^ [aeiou]`''吗?

时间:2019-09-18 17:40:34

标签: mysql sql

NOT RLIKE '^[aeiou].*[aeiou]$'RLIKE '^[^aeiou].*[^aeiou]$'有何不同?

我正在尝试在hackerrank上设置mysql实践,我克服了这个疑问。最初,我有一个问题要从表格站中选择所有不以元音开始或以结尾的城市。给我答案的查询是 SELECT city FROM station WHERE CITY NOT RLIKE '^[aeiou].*[aeiou]$'

下一个问题是从表中选择所有不以和不以元音结尾的城市。上一行代码没有给我答案。 SELECT city FROM station WHERE CITY RLIKE '^[^aeiou].*[^aeiou]$' 给了我正确的答案。

P.S:是具有ID,城市(这是城市名称),州,长,纬度的列的表。

1 个答案:

答案 0 :(得分:0)

它们根本不相似。只需看一眼它们,第一个就关心第一个和最后一个字符。第二个没有。

因此,这是一个示例,它们是不同的:

select col NOT RLIKE '^[aeiou].*[aeiou]$', col RLIKE '^[^aeiou].*'
from (select 'axyz' as col) x