解决MSSQL中日期类型为NULL的问题

使用MSSQL数据库时,常常会出现日期类型字段值为NULL的问题,这会给数据库操作带来很多麻烦。那末我们该怎么解决这个问题呢?

最直接的方法是,在每次查询时将日期字段值限制在某个范围内:

例如,要将日期字段值限制在1990-01-01至1990⑴2⑶1范围内,则可使用以下语句:

`SELECT * FROM TABLE WHERE DATE_COLUMN IS NOT NULL AND DATE_COLUMN BETWEEN ‘1990-01-01’ AND ‘1990⑴2⑶1’`

如果要将日期字段值设置为某个日期,则可使用以下语句:

`UPDATE TABLE SET DATE_COLUMN=’2017-07-01′ WHERE DATE_COLUMN IS NULL`

另外,可使用存储进程判断日期字段值,如果值为NULL,则在某个范围内浮动:

创建一个名为”chkdate”的存储进程,在声明时,使用以下代码:

`CREATE PROCEDURE chkdate

(

@date DATE,

@targetDate DATE

)

BEGIN

IF @date IS NULL THEN

SET @date = DATEADD(DAY,RAND()*1440,@targetDate)

END IF

END`

然后在调用时,使用以下代码:

`UPDATE TABLE SET DATE_COLUMN=chkdate(DATE_COLUMN,2017-07-01) WHERE DATE_COLUMN IS NULL`

以上是解决MSSQL中日期类型为NULL的问题的几种方法,根据实际情况,用户可以选择适合的方法进行解决。解决这类问题的关键是使用适当的SQL语句,做好正确的类型检查,以免毛病。

THE END