如何使用DateTime执行SQL NOT NULL?

时间:2020-03-06 14:46:28  来源:igfitidea点击:

这可能很简单,但是我无法弄清楚如何用NOT NULL做一个简单的DateTime?

我想做这样的事情:

SELECT * FROM someTable WHERE thisDateTime IS NOT NULL

但这显然是行不通的。如果这很重要,我正在使用MS SQL 2005. 谢谢你。

解决方案

erm它起作用吗?我刚刚测试过吗?

/****** Object:  Table [dbo].[DateTest]    Script Date: 09/26/2008 10:44:21 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE TABLE [dbo].[DateTest](
    [Date1] [datetime] NULL,
    [Date2] [datetime] NOT NULL
) ON [PRIMARY]

GO
Insert into DateTest (Date1,Date2) VALUES (NULL,'1-Jan-2008')
Insert into DateTest (Date1,Date2) VALUES ('1-Jan-2008','1-Jan-2008')
Go
SELECT * FROM DateTest WHERE Date1 is not NULL
GO
SELECT * FROM DateTest WHERE Date2 is not NULL

只是为了排除可能性,它与" ANSI_NULLS"选项没有任何关系,因为该选项可以通过" ="和" <>"运算符来控制与NULL的比较。 IS [NOT] NULL无论ANSI_NULLS是ON还是OFF都起作用。

我还使用isql对SQL Server 2005进行了尝试,因为使用DB-Library时ANSI_NULLS默认为OFF。