[dbo].[StoreProc1]
(
@Name varchar(10) = NULL,
@Age int
)
SELECT * FROM TABLE WHERE Name = @Name and Age = @Age
然而,由于@Name = NULL
是不正确的,存储过程并不知道是否为Name
输入为空或不是做Name IS NULL
或Name = '<value>'
使用在WHERE语句为NULL
什么是快速工作 - 在这附近?
我想我可以做这样的事情,但没有更简单的方法吗?
IF @Name IS NULL
BEGIN
SELECT * FROM TABLE WHERE NAME IS NULL AND [email protected]
END
ELSE
BEGIN
SELECT * FROM TABLE WHERE [email protected] AND [email protected]
END
这有一个问题,即NULL和''在Name/@ Name中被等价处理 – 2012-04-18 02:25:58