最近在学习存储过程其中用到了模糊查询, so 上传至优快云博客以作学习共享之用, 当然这是很简单的模糊查询有错误望指出3Q~
1. charIndex方法
create proc DynamicSearch
@GuideTeacherType nvarchar(300)='',
@GuideTeacherName nvarchar(500)='',
@GuideTeacherCompany nvarchar(1000)='',
@GuideTeacherJob nvarchar(1000)=''
as
begin
select * from BIGuideTeacher
where (@GuideTeacherType = '' or charIndex(@GuideTeacherType, GuideTeacherType) > 0)
and (@GuideTeacherName = '' or charIndex(@GuideTeacherName, GuideTeacherName) > 0)
and (@GuideTeacherCompany = '' or charIndex(@GuideTeacherType, GuideTeacherCompany) > 0)
and (@GuideTeacherJob = '' or charIndex(@GuideTeacherJob, GuideTeacherJob) > 0)
end
2. 一般拼接
create proc [dbo].[DynamicSearchResults]
@GuideTeacherType nvarchar(300)='',
@GuideTeacherName nvarchar(500)='',
@GuideTeacherCompany nvarchar(1000)='',
@GuideTeacherJob nvarchar(1000)=''
as
begin
select * from BIGuideTeacher
where (@GuideTeacherType='' or GuideTeacherType like '%'+@GuideTeacherType+'%')
and (@GuideTeacherName='' or GuideTeacherName like '%'+@GuideTeacherName+'%')
and (@GuideTeacherCompany='' or GuideTeacherCompany like '%'+@GuideTeacherCompany+'%')
and (@GuideTeacherJob='' or GuideTeacherJob like '%'+@GuideTeacherJob+'%')
end