【发布时间】:2014-03-26 18:51:28
【问题描述】:
我有一个搜索我的成员表的选择过程。 成员表有:
ID – Name – Deleted
1 – Marcus – NULL
2 – Regina – 2014-03-26 09:33:00.000
存在:ID 一个 PK int no NULL,命名一个 varchar(250) 并删除了一个 datetime 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 = ''
但这不起作用,因为我插入了已删除日期的行。
我做错了什么?
非常感谢!!
【问题讨论】:
标签: sql sql-server datetime select null