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]';