SQL 通配符

以这个表举例:

1
2
3
4
5
6
7
8
CREATE TABLE `websites` (
  `id` VARCHAR(64) NOT NULL DEFAULT '' COMMENT '编号',
  `name` VARCHAR(32) NOT NULL COMMENT '名称',
  `url` VARCHAR(200) NOT NULL COMMENT '网址',
  `alexa` VARCHAR(20) NOT NULL COMMENT '数目',
  `country` VARCHAR(20) NOT NULL COMMENT '城市',
  PRIMARY KEY (`id`)
) ENGINE=INNODB DEFAULT CHARSET=utf8;INSERT  INTO `websites`(`id`,`name`,`url`,`alexa`,`country`) VALUES <br>('1','Google','https://www.google.cm/','1','USA'),<br>('2','淘宝','https://www.taobao.com/','13','CN'),<br>('3','菜鸟教程','http://www.runoob.com/','4689','CN'),<br>('4','微博','http://weibo.com/','20','CN'),<br>('5','Facebook','https://www.facebook.com/','3','USA'),<br>('7','stackoverflow','http://stackoverflow.com/','0','IND');

1、 % :替代0个或者多个字符

列子:选取 url 以字母 "https" 开始的所有网址:

SELECT * FROM Websites WHERE url LIKE 'https%';

 

2、 _ : 代替一个字符

例子:选取 name 以一个任意字符开始,然后是 "oogle" 的所有客户:

SELECT * FROM Websites WHERE name LIKE '_oogle';

 

3、[charlist]:字符列表中的任何单一字符

例子:使用 REGEXP 或 NOT REGEXP 运算符 (或 RLIKE 和 NOT RLIKE) 来操作正则表达式。

3.1:下面的 SQL 语句选取 NAME 中包含字母"G"、"F" 或 "s" 的所有网站:

例子:SELECT * FROM Websites WHERE NAME REGEXP '^[GFs]';

 

3.2:下面的 SQL 语句选取 NAME 中包含字母 A 到 H 的所有字母的网站:

例子:SELECT * FROM Websites WHERE NAME REGEXP '^[A-H]';

 

3.3:下面的 SQL 语句选取 NAME中不包含字母 A 到 H 字母的网站:

例子:SELECT * FROM Websites WHERE NAME REGEXP '^[^A-H]';

 

posted @   xh_Blog  阅读(344)  评论(0编辑  收藏  举报
编辑推荐:
· DeepSeek 解答了困扰我五年的技术问题
· 为什么说在企业级应用开发中,后端往往是效率杀手?
· 用 C# 插值字符串处理器写一个 sscanf
· Java 中堆内存和栈内存上的数据分布和特点
· 开发中对象命名的一点思考
阅读排行:
· DeepSeek 解答了困扰我五年的技术问题。时代确实变了!
· PPT革命!DeepSeek+Kimi=N小时工作5分钟完成?
· What?废柴, 还在本地部署DeepSeek吗?Are you kidding?
· DeepSeek企业级部署实战指南:从服务器选型到Dify私有化落地
· 程序员转型AI:行业分析
点击右上角即可分享
微信分享提示