SQL 通配符

以这个表举例:

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 
('1','Google','https://www.google.cm/','1','USA'),
('2','淘宝','https://www.taobao.com/','13','CN'),
('3','菜鸟教程','http://www.runoob.com/','4689','CN'),
('4','微博','http://weibo.com/','20','CN'),
('5','Facebook','https://www.facebook.com/','3','USA'),
('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]';

原文地址:https://www.cnblogs.com/xh_Blog/p/8473560.html