一个企业制定kpi的目的:请问SQL语句怎么进行模糊查找呢?

来源:百度文库 编辑:查人人中国名人网 时间:2024/03/29 23:49:37
SELECT Name FROM Test WHERE Name="张三"

这个语句只能查出名为张三的字段,那么如果要连名为张三、张三四、张三五等字段也查找出来,请问应该怎样写呢?

如果你用的是SQLServer,就用
select name from test where name="%张三%"

如果用的是Access,就用
select name from test where name="%%张三%%"

在MS SQL Severs 2000 中的模糊查询,其中,好像%号代表任意个字符,好像?号代表一个字符.

使用LIKE就可以.
语法如下:
[NOT]LIKE '匹配串' [ESCAPE '换码字符']
其含义是查找制定的属性列值与匹配串相匹配的元组.匹配串可以含有通配符%和_,其中%代表任意长度(包括0)的字符,如a%b可以表示ab,acb,acccb等。_(下划线)代表任意单个字符。注意汉字要用两个下划线才能表示一个汉字。
问题中所说的可以用下列语句:
SELECT NAME FROM TEST WHERE NAME LIKE '张三%'
如果要查找的字符串本身就含有%或_,就要使用ESCAPE了。例如查找name为a_b的语句:
select name from test where name like 'a\_b' escape '\'
表示紧跟在\后的_表示的是下划线本身而不是代表任意一个字符。

SELECT Name FROM Test WHERE Name LIKE "张三%"