SQL LIKE 操作符

LIKE 操作符用于在 WHERE 子句中搜索列中的指定模式。

SQL LIKE 语法

SELECT column_name(s)
FROM table_name
WHERE column_name LIKE pattern;

演示新闻分类表 pangugle_news_category 所有数据数据如下

category_id category_title category_desc category_createtime category_admin
1 百度 百度公司 2020-09-16 18:09:52 admin
2 盘古歌 盘古歌技术 2020-09-16 18:12:31 admin
3 Google 谷歌公司 2020-09-16 18:12:56 u1
4 阿里巴巴 阿里巴巴公司 2020-09-16 18:13:20 u1
5 qq 腾讯公司 2020-09-16 18:13:36 u1

SQL LIKE 操作符实例

下面的 SQL 语句选取 category_admin 以字母 "a" 开始的所有记录:

  • 实例
SELECT * FROM pangugle_news_category
WHERE category_admin LIKE 'a%';

执行输出结果:

category_id category_title category_desc category_createtime category_admin
1 百度 百度公司 2020-09-16 18:09:52 admin
2 盘古歌 盘古歌技术 2020-09-16 18:12:31 admin

提示:"%" 符号用于在模式的前后定义通配符(默认字母)。您将在下一章中学习更多有关通配符的知识。

  • 实例

下面的 SQL 语句选取 category_admin 以数据 "1" 结尾的所有记录:

SELECT * FROM pangugle_news_category
WHERE category_admin LIKE '%1';

执行输出结果:

category_id category_title category_desc category_createtime category_admin
3 Google 谷歌公司 2020-09-16 18:12:56 u1
4 阿里巴巴 阿里巴巴公司 2020-09-16 18:13:20 u1
5 qq 腾讯公司 2020-09-16 18:13:36 u1
  • 下面的 SQL 语句选取 category_admin 包含模式 "dmi" 的所有记录:
SELECT * FROM pangugle_news_category
WHERE category_admin LIKE '%dmi%';

执行输出结果:

category_id category_title category_desc category_createtime category_admin
1 百度 百度公司 2020-09-16 18:09:52 admin
2 盘古歌 盘古歌技术 2020-09-16 18:12:31 admin

通过使用 NOT 关键字,您可以选取不匹配模式的记录。

下面的 SQL 语句选取 category_admin 不包含模式 "dmi" 的所有记录:

SELECT * FROM pangugle_news_category
WHERE category_admin NOT LIKE '%dmi%';
category_id category_title category_desc category_createtime category_admin
3 Google 谷歌公司 2020-09-16 18:12:56 u1
4 阿里巴巴 阿里巴巴公司 2020-09-16 18:13:20 u1
5 qq 腾讯公司 2020-09-16 18:13:36 u1