在SQL结构化查询语言中,LIKE语句有着至关重要的作用。
LIKE语句的语法格式是:select * from 表名 where 字段名 like 对应值(子串),它主要是针对字符型字段的,它的作用是在一个字符型字段列中检索包含对应子串的。
在SQL结构化查询语言中,LIKE语句有着至关重要的作用。
LIKE语句的语法格式是:select * from 表名 where 字段名 like 对应值(子串),它主要是针对字符型字段的,它的作用是在一个字符型字段列中检索包含对应子串的。
1.先说一下SQL Like通配符:
通配符 |
说明 |
_ |
与任意字符匹配 |
% |
与包含一个或多个字符串匹配 |
[] |
与特定范围(例如[a-d]或特定集例如[abcdef])中的任意字符串匹配 |
[^] |
与特定范围(例如,[^a-f])或特定集(例如,[^abcdef])之外的任意单字符匹配。 |
例子:
假设有一个数据库中有个表Student,在Student中有两个字段,分别是id和name,id是int类型,name是varchar类型
1. 查询id为100开头的学生信息
Select * fromStudent where id like ‘100%’;
2. 查询id为99结尾的学生信息
Select * from Student where id like ‘%99’;
3.查询id包含11在中间的学校信息
Select* from Student where id like %11%;
• WHERE name LIKE '_qiu' 可以找到所有三个字母的、以 qiu'结尾的名字(例如,xiaoqiu、daqiu)。
• WHERE name LIKE '% qiu'可以找到姓以qiu'结尾的所有员工。
• WHERE name LIKE '% qiu' %' 可以找到姓中任意位置包括qiu'的所有员工。
• WHERE name LIKE '[X] qiu'可以找到三个字母的、以qiu'结尾并以 X 开始的名字(即仅有 Xiaoqiu 和 Tim)
• WHERE name LIKE x[^x]%' 可以找到以 x开始的、后面的(第二个)字母不为 x 的所有姓。