LIKE 用法

SQL LIKE 操作符

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

有两个通配符与LIKE运算符一起使用:

  •  - 百分号表示零个,一个或多个字符
  • _ - 下划线表示单个字符

注意: MS Access使用问号(?)而不是下划线(_)。

百分号和下划线也可以组合使用!

SQL LIKE 语法

SELECT column1, column2, ...
FROM table_name
WHERE columnN LIKE pattern;

提示 :您还可以使用AND或OR运算符组合任意数量的条件。

下面是一些使用''和'_'通配符显示不同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_idmember_codepasswordnick_nameremarkslocationstatus
101010001112331张三xxx广东1
101110002112333李四xxx北京1
1012100031234567王五xxx广东1
101310004112335张飞xxx广东1
101410005112336关习xxx上海1
101510006112337关平xxx湖南1
101610007112338小李xxx广东1
101710008112339韩飞xxx深圳1
101810009112310刘备xxx三国1
101910010112312吴越xxx广西1
102010011112312韩信xxx南京1
102110012112331张包xxx广东1

SQL LIKE 运算符实例

以下SQL语句选择以“张”开头的nick_name的所有会员:

示例语句:

SELECT * FROM member
WHERE nick_name LIKE '张%';

查询结果:

member_idmember_codepasswordnick_nameremarkslocationstatus
101010001112331张三www.jhelp.net广东1
101310004112335张飞www.jhelp.net广东1
102110012112331张包www.jhelp.net广东1

以下SQL语句选择会员呢称nick_name以“三”结尾的所有会员:

示例语句:

SELECT * FROM member
WHERE nick_name LIKE '%三';

查询结果:

member_idmember_codepasswordnick_nameremarkslocationstatus
101010001112331张三www.jhelp.net广东1


以下SQL语句选择nick_name 在任何位置都具有“飞”的所有会员:

示例语句:

SELECT * FROM member
WHERE nick_name LIKE '%飞%';

查询结果:

member_idmember_codepasswordnick_nameremarkslocationstatus
101310004112335张飞www.jhelp.net广东1
101710008112339韩飞www.jhelp.net深圳1


以下SQL语句选择nick_name在第二位具有“飞”的所有会:

代码示例:

SELECT * FROM member
WHERE nick_name LIKE '_飞%';

查询结果:

member_idmember_codepasswordnick_nameremarkslocationstatus
101310004112335张飞www.jhelp.net广东1
101710008112339韩飞www.jhelp.net深圳1

以下SQL语句选择nick_name以“w”开头且长度至少为3个字符的所有会员:

代码示例:

SELECT * FROM member
WHERE nick_name LIKE 'w_%_%';

查询结果:

member_idmember_codepasswordnick_nameremarkslocationstatus
101210003abc123www.jhelp.netwww.jhelp.net广东1


以下SQL语句选择member_code 以“1”开头并以“8”结尾的所有会员:

代码示例:

SELECT * FROM member
WHERE member_code LIKE '1%8';

查询结果:

member_idmember_codepasswordnick_nameremarkslocationstatus
101710008112339韩飞www.jhelp.net深圳1

以下SQL语句选择nick_name不以“张”开头的所有会员:

代码示例:

SELECT * FROM member
WHERE nick_name NOT LIKE '张%';

查询结果:

member_idmember_codepasswordnick_nameremarkslocationstatus
101110002112333李四www.jhelp.net北京1
101210003abc123www.jhelp.netwww.jhelp.net广东1
101410005112336关习www.jhelp.net上海1
101510006112337关平www.jhelp.net湖南1
101610007112338小李www.jhelp.net广东1
101710008112339韩飞www.jhelp.net深圳1
101810009112310刘备www.jhelp.net三国1
101910010112312吴越www.jhelp.net广西1
102010011112312韩信www.jhelp.net南京1
1022100110112355新添加www.jhelp.net北京1
1023100111112355333新添加2www.jhelp.net北京
腾讯云推出云产品限时特惠抢购活动:2C2G云服务器7.9元/月起
本文链接:https://www.jhelp.net/p/gxhmsYXVOpbOkqyO (转载请保留)。
关注下面的标签,发现更多相似文章