mysql - 这两个不同的 `` `RLIKE ^[^aeiou ]`` ` 和 `` `NOT RLIKE ^[aeiou ]`` `?

标签 mysql sql

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

我正在尝试在 hackerrank 上进行 mysql 练习,并且遇到了这个疑问。起初我有一个问题,要从桌面站中选择所有不以元音开头或结尾的城市。给我答案的查询是 从车站选择城市,其中城市不是 RLIKE '^[aeiou].*[aeiou]$'

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

P.S: station 是一个包含 id、city(这是城市名称)、state、long、lat 列的表。

最佳答案

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

下面是它们不同的示例:

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

关于mysql - 这两个不同的 `` `RLIKE ^[^aeiou ]`` ` 和 `` `NOT RLIKE ^[aeiou ]`` `?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57998168/

相关文章:

sql - 如何在 from 语句中使用子查询进行 LINQ 查询?

mysql - php无法连接到docker-compose中的mysql

php 函数不会工作不止一次

Java JDBC 通用SQL插入功能

sql - 只返回符合所有条件的行

mysql - 如何借助MySql中的外键来选择外键表的属性?

适用于 Python 程序员的 PHP : UTF-8 Issues

mysql - 如何在单个 mysql 命令中删除此选择查询的结果?

PHP取消链接函数

mysql - 使用选择查询更新添加 NULL 行