通配符可用于替代字符串中的任何其他字符。
SQL 通配符
在 SQL 中,通配符与 SQL LIKE 操作符一起使用。
SQL 通配符用于搜索表中的数据。
在 SQL 中,可使用以下通配符:
通配符 | 描述 |
---|---|
% | 替代 0 个或多个字符 |
_ | 替代一个字符 |
[charlist] | 字符列中的任何单一字符 |
[^charlist] 或 [!charlist] | 不在字符列中的任何单一字符 |
通配符也可以组合使用!
下面是一些使用'%
'和'_
'通配符显示不同LIKE运算符的例子:
LIKE运算符 | 描述 |
---|---|
WHERE CustomerName LIKE 'a%' | 查找以“a”开头的任何值 |
WHERE CustomerName LIKE '%a' | 查找以"a"结尾的任何值 |
WHERE CustomerName LIKE '%or%' | 在任何位置查找任何具有“or”的值 |
WHERE CustomerName LIKE '_r%' | 在第二个位置查找任何具有“r”的值 |
WHERE CustomerName LIKE 'a_%_%' | 查找以“a”开头并且长度至少为3个字符的值 |
WHERE ContactName LIKE 'a%o' | 查找以“a”开始并以“o”结尾的任何值 |
演示数据库
在本教程中,主要是使用Mysql数据库,虽然和其他数据有一定的差异,不影响对SQL语法的讲解。
相应的脚本请查看上一篇文章:开始前准备环境
以下是 "member" 表中的数据:
member_id | member_code | password | nick_name | remarks | location | status |
---|---|---|---|---|---|---|
1010 | 10001 | 112331 | 张三 | xxx | 广东 | 1 |
1011 | 10002 | 112333 | 李四 | xxx | 北京 | 1 |
1012 | 10003 | 1234567 | 王五 | xxx | 广东 | 1 |
1013 | 10004 | 112335 | 张飞 | xxx | 广东 | 1 |
1014 | 10005 | 112336 | 关习 | xxx | 上海 | 1 |
1015 | 10006 | 112337 | 关平 | xxx | 湖南 | 1 |
1016 | 10007 | 112338 | 小李 | xxx | 广东 | 1 |
1017 | 10008 | 112339 | 韩飞 | xxx | 深圳 | 1 |
1018 | 10009 | 112310 | 刘备 | xxx | 三国 | 1 |
1019 | 10010 | 112312 | 吴越 | xxx | 广西 | 1 |
1020 | 10011 | 112312 | 韩信 | xxx | 南京 | 1 |
1021 | 10012 | 112331 | 张包 | xxx | 广东 | 1 |
使用 SQL % 通配符
以下SQL语句选择所有会员nick_name 以“张”开头:
示例语句:
SELECT * FROM member
WHERE nick_name LIKE '张%';
查询结果:
member_id | member_code | password | nick_name | remarks | location | status |
---|---|---|---|---|---|---|
1010 | 10001 | 112331 | 张三 | www.jhelp.net | 广东 | 1 |
1013 | 10004 | 112335 | 张飞 | www.jhelp.net | 广东 | 1 |
1021 | 10012 | 112331 | 张包 | www.jhelp.net | 广东 | 1 |
以下SQL语句选择nick_name中包含“jhelp”模式的所有会员:
示例语句:
SELECT * FROM member
WHERE nick_name LIKE '%jhelp%';
查询结果:
member_id | member_code | password | nick_name | remarks | location | status |
---|---|---|---|---|---|---|
1012 | 10003 | abc123 | www.jhelp.net | www.jhelp.net | 广东 | 1 |
使用 SQL _ 通配符
以下SQL语句选择nick_name以任意字符开头,然后是“net”的所有会员:
实例
SELECT * FROM member
WHERE nick_name LIKE '_net';
查询结果:
member_id | member_code | password | nick_name | remarks | location | status |
---|---|---|---|---|---|---|
1012 | 10003 | abc123 | www.jhelp.net | www.jhelp.net | 广东 | 1 |
以下SQL语句选择member_code开头为“1”,后面是任意字符,后面是“0”,后面是任意字符,后面是“9”的所有会员:
示例语句:
SELECT * FROM member
WHERE member_code LIKE '1_0_9';
查询结果:
member_id | member_code | password | nick_name | remarks | location | status |
---|---|---|---|---|---|---|
1018 | 10009 | 112310 | 刘备 | www.jhelp.net | 三国 | 1 |
使用 SQL [charlist] 通配符
MySQL 中使用 REGEXP 或 NOT REGEXP 运算符 (或 RLIKE 和 NOT RLIKE) 来操作正则表达式。
以下SQL语句选择所有会员nick_name以"李"、"刘"或"小"开头:
示例语句:
SELECT * FROM member
WHERE nick_name REGEXP '^[李刘小]';
查询结果:
member_id | member_code | password | nick_name | remarks | location | status |
---|---|---|---|---|---|---|
1011 | 10002 | 112333 | 李四 | www.jhelp.net | 北京 | 1 |
1016 | 10007 | 112338 | 小李 | www.jhelp.net | 广东 | 1 |
1018 | 10009 | 112310 | 刘备 | www.jhelp.net | 三国 | 1 |
以下SQL语句选择“nick_name”以“u”、“y”或“z”开头的所有会员:
示例语句:
SELECT * FROM member
WHERE nick_name REGEXP '^[u-y]';
查询语句:
member_id | member_code | password | nick_name | remarks | location | status |
---|---|---|---|---|---|---|
1012 | 10003 | abc123 | www.jhelp.net | www.jhelp.net | 广东 | 1 |
以下SQL语句选择所有会员nick_name不以"李"、"小"或"刘"开头:
示例语句:
SELECT * FROM member
WHERE nick_name REGEXP '^[^李小刘]';
查询结果:
member_id | member_code | password | nick_name | remarks | location | status |
---|---|---|---|---|---|---|
1010 | 10001 | 112331 | 张三 | www.jhelp.net | 广东 | 1 |
1012 | 10003 | abc123 | www.jhelp.net | www.jhelp.net | 广东 | 1 |
1013 | 10004 | 112335 | 张飞 | www.jhelp.net | 广东 | 1 |
1014 | 10005 | 112336 | 关习 | www.jhelp.net | 上海 | 1 |
1015 | 10006 | 112337 | 关平 | www.jhelp.net | 湖南 | 1 |
1017 | 10008 | 112339 | 韩飞 | www.jhelp.net | 深圳 | 1 |
1019 | 10010 | 112312 | 吴越 | www.jhelp.net | 广西 | 1 |
1020 | 10011 | 112312 | 韩信 | www.jhelp.net | 南京 | 1 |
1021 | 10012 | 112331 | 张包 | www.jhelp.net | 广东 | 1 |
1022 | 100110 | 112355 | 新添加 | www.jhelp.net | 北京 | 1 |
1023 | 100111 | 112355333 | 新添加2 | www.jhelp.net | 北京 |
郑重声明:本文版权归原作者所有,转载文章仅为传播更多信息之目的,如作者信息标记有误,请第一时间联系我们修改或删除,多谢。
本文链接:https://www.jhelp.net/p/Hnhg7pgnFzWyVxfJ (转载请保留)。
本站推荐
-
1154
-
1079
-
943
-
940
-
935
文章目录