在查询控件上怎么使用SQL的模糊查询?
网友解答: 模糊查询其实就是SQL语句的关键字“like”的使用。SQL查询分为完整查询和模糊查询,主要区别在于对查询字段的匹配程度,完整查询要求完全匹配,而模糊查询则要求部分匹配。我们
模糊查询其实就是SQL语句的关键字“like”的使用。
SQL查询分为完整查询和模糊查询,主要区别在于对查询字段的匹配程度,完整查询要求完全匹配,而模糊查询则要求部分匹配。
我们举个例子。假设有人员表,表名person,表里包含姓名(p_name),性别(p_sex),出生日期(p_birthday)等字段。括号内为字段名。表内有大量人员信息。
1,完整查询,比如我们想查询姓名为张小海的人员,查询语句为
select * from peeson where p_name='张小海'
如果表内有张小海的记录,则返回张小海信息,否则返回空。
2,模糊查询,比如我们想查询姓名中包含海字的人员,查询语句为
select * from person where p_name like '%海%'
运行语句,将会返回所有姓名中含海字的人员,张小海,张大海,刘海,赵海明,海公公等等信息。
SQL查询like关键字有四种匹配方式。
1.%,代表任意长度的字符。
2._,代表任意一个字符。
select * from person where p_name like '_海'
运行后返回姓名是两个字,最后一个字是海的所有人员。
3.[],代表中括号内所列字符中的一个。
select * from person where p_name like '[张王李赵]海'
运行后,如果记录有的话,返回张海,王海,李海,赵海。
4.[^],代表不包含中括号内所列字符中的一个,和[]相对应。
select * from person where p_name like '[^张王李赵]海'
运行后将返回刘海,高海等等,不包含张王李赵这四个姓。