在SQL结构化查询语言中LIKE语句有着至关重要的作用
LIKE语句的语法格式是select * from 表名 where 字段名 like 对应值(子串)它主要是针对字符型字段的它的作用是在一个字符型字段列中检索包含对应子串的
假设有一个数据库中有个表table在table中有两个字段分别是name和sex二者全是字符型数据现在我们要在姓名字段中查询以张字开头的记录语句如下
select * from table where name like 张*
如果要查询以张结尾的记录则语句如下
select * from table where name like *张
这里用到了通配符*可以说like语句是和通配符分不开的下面我们就详细介绍一下通配符
续上
假设表table中有以下记录
namesex
张小明男
李明天男
李a天 女
王五 男
王清五男
下面我们来举例说明一下
例查询name字段中包含有明字的
select * from table where name like %明%
例查询name字段中以李字开头
select * from table where name like 李*
例查询name字段中含有数字的
select * from table where name like %[]%
例查询name字段中含有小写字母的
select * from table where name like %[az]%
例查询name字段中不含有数字的
select * from table where name like %[!]%
以上例子能列出什么值来显而易见但在这里我们着重要说明的是通配符*与%的区别
很多朋友会问为什么我在以上查询时有个别的表示所有字符的时候用%而不用*?先看看下面的例子能分别出现什么结果
select * from table where name like *明*
select * from table where name like %明%
大家会看到前一条语句列出来的是所有的记录而后一条记录列出来的是name字段中含有明的记录所以说当我们作字符型字段包含一个子串的查询时最好采用%而不用*用*的时候只在开头或者只在结尾时而不能两端全由*代替任意字符的情况下
以上是本人对like语句的浅见不足之处请朋友们指正