1. 程式人生 > >SQL SERVER中查詢參數為空(null)時默認查詢所有的實現

SQL SERVER中查詢參數為空(null)時默認查詢所有的實現

字符型 pub 篩選條件 sql 註意 exec ltr lis 引號

方法1:
當出版社篩選條件為null,該如何寫SQL呢?

1 DECLARE @publishers VARCHAR(50);
2 SELECT * FROM dbo.Book WHERE Publishers=ISNULL(@publishers,Publishers)

方法2:

declare @cinv varchar(50)
select * from inventory where 1=1 and (cInvName=@cinv or @cinv is null)

方法3:
DECLARE @name VARCHAR(100),@page INT =1
SET @name=‘張三‘

DECLARE @sql VARCHAR(1000)

SET @sql=‘select * from myTable where 1=1‘
IF @name IS NOT NULL
SET @sql=@sql+‘ and name=‘‘‘+@name+‘‘‘‘--字符型註意引號個數
IF @page IS NOT NULL
SET @sql=@sql+‘ and page=‘+LTRIM(@page)--int類型註意轉換為字符型
--PRINT @sql
EXEC(@sql)

SQL SERVER中查詢參數為空(null)時默認查詢所有的實現