使用TSQL写多条件的查询存储过程
如果查询条件为空值的时候,即没有传递进来值,
即可使用ISNULL函数进行判断然后缺省处理。
以下为示例代码,访问的是北风数据库employee表。
DECLARE @ename VARCHAR(20)
DECLARE @Birth DATETIME
SET @ename =NULL
SET @Birth=CONVERT(DATETIME,'2000-9-9 00:00:00')
SELECT * FROM northwind.dbo.Employees e
WHERE
(ISNULL(@ename,'')='' OR Firstname + lastname LIKE '%' +@ename +'%')
AND (ISNULL(@Birth,'')='' OR BirthDate < @Birth)