MYSQL中LIKE和REGEXP的区别

MYSQL中LIKE和REGEXP的区别,mysql,sql,database,Mysql,Sql,Database,我必须从电台数据库中选择所有以元音开头的城市名称 我尝试在MYSQL中使用: 类似运算符: select DISTINCT CITY from STATION where CITY LIKE "[aeiouAEIOU]%"; select DISTINCT CITY from STATION where CITY REGEXP '^[AEIOUaeiou]'; REGEXP运算符: select DISTINCT CITY from STATION where CITY LIKE "[aei

我必须从电台数据库中选择所有以元音开头的城市名称

我尝试在MYSQL中使用:

类似运算符:

select DISTINCT CITY from STATION where CITY LIKE "[aeiouAEIOU]%";
select DISTINCT CITY from STATION where CITY REGEXP '^[AEIOUaeiou]';
REGEXP运算符:

select DISTINCT CITY from STATION where CITY LIKE "[aeiouAEIOU]%";
select DISTINCT CITY from STATION where CITY REGEXP '^[AEIOUaeiou]';
当我使用带有Like运算符的查询时,它给出的结果为零。但是使用REGEXP的查询工作得很好

问题:

select DISTINCT CITY from STATION where CITY LIKE "[aeiouAEIOU]%";
select DISTINCT CITY from STATION where CITY REGEXP '^[AEIOUaeiou]';
  • MySQL中的LIKE运算符是否不支持方括号([…])
  • 除了LIKE优于REGEXP的性能优势外,它们之间还有什么区别

  • LIKE
    只支持通配符,
    REGEXP
    完全支持正则表达式。
    LIKE
    REGEXP
    是完全不同的东西。请参见手册中的
    LIKE
    仅支持通配符,
    REGEXP
    具有完全的正则表达式支持。
    LIKE
    REGEXP
    是完全不同的东西。请参阅和上的手册