我有一个搜索我的成员表的选择程序。 成员表具有:SQL:搜索无效日期
ID – Name – Deleted
1 – Marcus – NULL
2 – Regina – 2014-03-26 09:33:00.000
存在:ID的PK INT没有NULL,命名一个varchar(250)和已删除日期时间NULL。
这里是我的方法:
CREATE PROCEDURE dbo.SELECT_MEMBERS
@ID int = NULL,
@Name varchar(250)= NULL,
@Deleted datetime =NULL
AS
BEGIN
IF @Deleted = ''
BEGIN
SET @Deleted = NULL
END
ELSE
BEGIN
SET @Deleted = @Deleted
END
SET NOCOUNT ON;
SELECT ID, Name, Deleted
FROM dbo.Members WHERE
(@ID IS NULL OR @ID = ID)
AND (@Name IS NULL OR @Name = Name)
AND (@Deleted IS NULL OR @Deleted = Deleted)
END
GO
为了寻找有没有删除的日期成员(如果他们有一个删除日期意味着他们没有活跃成员)我做的:
EXEC dbo.SELECT_MEMBERS @Deleted = ''
但是这不起作用,因为我得到插入删除日期的行。
我在做什么错?
非常感谢!
使用ISNULL功能 – hgulyan