SQL SERVER中查詢參數為空(null)時默認查詢所有的實現
阿新 • • 發佈:2018-07-17
字符型 pub 篩選條件 sql 註意 exec ltr lis 引號 方法1:
當出版社篩選條件為null,該如何寫SQL呢? 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)
當出版社篩選條件為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)
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)時默認查詢所有的實現