Sql通配符

平常我们在使用sql语句进行查询时,知道模糊的查询条件但不知道具体的数据时可以使用LIKE来进行查询,下期记录LIKE的使用方法,本期只讲一下通配符的使用.
通配符必须要和LIKE一起使用,在查询中,通配符可以代替一个或多个字符来进行查询.
在sql通配符中有如下几种:
1.%
2._
3.charlist字符集合
接下来先介绍一下%通配符

%通配符

%的作用是代替0个或者多个字符,例如:
我们想从一张User表中查询名字姓’z’的人有哪些,则可以这样写:

SELECT * FROM User WHERE name LIKE 'z%';

如果我们想从一张User表中查询名字结尾是’s’的人有哪些:

SELECT * FROM User WHERE name LIKE '%s';

如果想要查询名字中带有’w’的人有哪些:

SELECT * FROM User WHERE name LIKE '%w%';

_通配符

_的作用仅代表一个字符,例如:
我们想查询名字姓z并且是两个字的时候才能使用_通配符

SELECT * FROM User WHERE name LIKE 'z_';

如果想查询三个字符的话需要加两个_,不如直接使用%来进行查询
或者我们想查询名字叫什么s的人:

SELECT * FROM User WHERE name LIKE '_s';

比如想查询以w开头,s结尾的人的名字:

SELECT * FROM User WHERE name LIKE 'w_s';

charlist通配符

charlist以中括号[]来进行查询,作用是字符列中的任意单一字符的查询
比如我们想查询名字中有’s’ ,‘a’,'d’开头的人:

SELECT * FROM User WHERE name LIKE '[sad]%';

如果想查询名字中没有’s’,‘a’,'d’开头的人:
有两种写法, !或^

SELECT * FROM User WHERE name LIKE '[!sad]%';
SELECT * FROM User WHERE name LIKE '[^sad]%';