sql语言like两个对象怎么写(SQL LIKE 操作符介绍)

本文目录
SQL LIKE 操作符介绍
LIKE 操作符用于在 WHERE 子句中搜索列中的指定模式。
SQL LIKE 操作符语法:
SELECT column_name(s)
FROM table_name
WHERE column_name LIKE pattern
原始的表 (用在例子中的):
Persons 表:
Id
LastName
FirstName
Address
City
1Adams
JohnOxford StreetLondon2BushGeorgeFifth AvenueNew York3CarterThomas
Changan StreetBeijing
例子 1
现在,我们希望从上面的 Persons 表中选取居住在以 N 开始的城市里的人:
我们可以使用下面的 SELECT 语句:
SELECT * FROM Persons
WHERE City LIKE N%
提示:% 可用于定义通配符(模式中缺少的字母)。
结果集:
Id
LastName
FirstName
Address
City
2BushGeorgeFifth AvenueNew York
例子 2
接下来,我们希望从 Persons 表中选取居住在以 g 结尾的城市里的人:
我们可以使用下面的 SELECT 语句:
SELECT * FROM Persons
WHERE City LIKE %g
结果集:
Id
LastName
FirstName
Address
City
3CarterThomasChangan StreetBeijing
例子 3
接下来,我们希望从 Persons 表中选取居住在包含 lon 的城市里的人:
我们可以使用下面的 SELECT 语句:
SELECT * FROM Persons
WHERE City LIKE %lon%
结果集:
Id
LastName
FirstName
Address
City
1AdamsJohnOxford StreetLondon
例子 4
通过使用 NOT 关键字,我们可以从 Persons 表中选取居住在不包含 lon 的城市里的人:
我们可以使用下面的 SELECT 语句:
SELECT * FROM Persons
WHERE City NOT LIKE %lon%
结果集:
Id
LastName
FirstName
Address
City
2BushGeorgeFifth AvenueNew York3CarterThomasChangan StreetBeijing
sql 对同一字段进行模糊查询时如何将两个条件写入一个like中
表名为user)
1) username=admin,password=000000
2) username=admin,password=123456
我们要实现的效果是可以输入多个关键字查询,多个关键字间以逗号分隔。
使用上述表举例:输入单个关键字“admin”可查出这两条数据,输入“admin,000000”只查出第一条数据,可实现的sql语句是:
select * from user where concat(username, password) like ’%admin%’;
select * from user where concat(username, password) like ’%admin%’ and concat(username, password) like ’%000000%’;
concat的作用是连接字符串,但这样有一个问题:如果你输入单个关键字“admin000000”也会查到第一条数据,这显然不是我们想要的结果,解决方法是:由于使用逗号分隔多个关键字,说明逗号永远不会成为关键字的一部分,所以我们在连接字符串时把每个字段以逗号分隔即可解决此问题,下面这个sql语句不会查询到第一条数据:
select * from user where concat(username, ’,’, password) like ’%admin000000%’;
如果分隔符是空格或其他符号,修改 ’,’ 为 ’分隔符’ 即可。
总结:
select * from 表名 where concat(字段1, ’分隔符’, 字段2, ’分隔符’, ...字段n) like ’%关键字1%’ and concat(字段1, ’分隔符’, 字段2, ’分隔符’, ...字段n) like ’%关键字2%’ ......;

本文相关文章:
内核接口怎么调用(开发操作系统 内核是用C开发的,图形界面是用GTK或QT,界面操作是怎么调用内核呢)
2026年7月30日 02:00
myeclipse2021(javaweb怎么操作进行人工publish)
2026年5月20日 11:00
unix系统中运行内核程序进程处于(02 操作系统进阶之进程)
2026年5月11日 17:50
更多文章:
全球新冠肺炎疫情背景下航运发展(盐田港复苏日志:半年历劫从“低谷”到“爆仓” 疫情之后巨轮如何越洋航行)
2026年9月7日 17:10
matlab求解带字母参数方程组(我想matlab求一个关于x,y的方程组 ab c d f e h m n 都是参数)
2026年9月7日 16:30
oracle中的循环语句(下面哪个不是oracle程序设计中的循环语句 a for)
2026年9月7日 15:30
电脑里2个系统怎么删除一个(电脑开机显示有两个系统,如何删除一个)
2026年9月7日 12:20
scrollthrough意思(“scroll”是什么意思)
2026年9月7日 08:00
怎么激活keygen(注册机如何激活cad2008一个简单激活cad2008的方法)
2026年9月7日 06:30




