首页 > 解决方案 > 为什么 LIKE 查询在 mysql 中不起作用?

问题描述

我有以下查询...

SELECT * 
FROM customers
WHERE first_name LIKE '[aeiou]%';

结果显示为:

EMPTY SET

为什么会这样?即使我在表中有足够的以 aeiou 开头的条目?但是,它适用于:

WHERE first_name LIKE 'C%';

请帮忙!!

标签: mysqlsql

解决方案


LIKE在 MySQL 中不支持[aeiou]. 它唯一的模式是%匹配任意数量的字符,以及_匹配任意单个字符。

您需要使用正则表达式:

WHERE first_name REGEX '^[aeiou]'

推荐阅读