当前位置: 代码迷 >> Sql Server >> 关于SQL 模糊查询,该如何解决
  详细解决方案

关于SQL 模糊查询,该如何解决

热度:16   发布时间:2016-04-24 09:16:04.0
关于SQL 模糊查询
     A字段              B字段
20150321             111-222-333-444
 ……                    ……         
20150322             333-111-555-777
 ……                    ……
20150323             555-222-444-111
 ……                    ……
同一日期有N条记录,且B字段内容完全相同,如何查询出在20150321至20150323期间111在B字段中出现的次数,并作为新列显示出来记得在B字段中N条相同记录不重复,如上例111模糊查询出来的结果应为3。
显示结果如下
新列名111   出现次数
111                  3
------解决思路----------------------
select '111' ,count(*) from 表
where A between '20150321' and '20150323' and charindex('111',B)>0
------解决思路----------------------
DECLARE @SearchStr VARCHAR(20)
SET @SearchStr='111'
SELECT @SearchStr AS[新列名],COUNT(DISTINCT B字段)AS[出现次数]
FROM TB
WHERE '-'+B字段+'-' LIKE'%-'+@SearchStr+'-%'

------解决思路----------------------
select '111' ,count(distinct B) from 表
where A between '20150321' and '20150323' and charindex('111',B)>0 
  相关解决方案