当搜索产品列表时,@SearchType
参数是可选的。如果@SearchType
为空或NULL
那么它应该返回所有产品而不使用WHERE
子句。否则,如果它通过Equipment
它将使用它。SQL Server:检查WHERE子句中的变量是否为空或NULL
ALTER PROCEDURE [dbo].[psProducts]
(@SearchType varchar(50))
AS
BEGIN
SET NOCOUNT ON;
SELECT
P.[ProductId],
P.[ProductName],
P.[ProductPrice],
P.[Type]
FROM [Product] P
-- if @Searchtype is not null then use the where clause
WHERE p.[Type] = @SearchType
END
这是行不通的。当我传递参数时它不返回结果。产品页面查找类型的查询字符串,如果不是,则设置方法参数Type =“”。所以,我相信存储过程可能正在寻找一个SearchType =“”,它不会返回任何结果。我想返回所有结果。 – User970008 2012-04-23 16:16:03
作品,谢谢! – User970008 2012-04-23 16:20:14
它不工作,因为你传递一个空字符串。一个空字符串不是NULL! – 2012-04-23 16:20:26