代码改变世界

修改数据库插入默认日期

2016-05-13 23:46  hello,逗比  阅读(356)  评论(0编辑  收藏  举报

NULLIF()函数使用讲解

2014-06-23 23:16 by zwwhnly, 2992 阅读, 收藏编辑

NULLIF()函数接受两个参数。如果它们相等,那么返回空值;否则,返回第一个参数。

等价于下面的表达式:

case 

when expression1=expression2 then null
else expression1

end

通常使用NULLIF()函数可以防止除零错误。

如果变量b为0,则下面的表达式将生成错误,但是,可以使用NULLIF()函数,这样如果变量b的值为0,它会返回NULL,而不是错误

select a/b

select a/nullif(b,0)

sql2005 若字段定义的类型为datetime,插入为''(空),那么会默认值为1900-01-01 00:00:00.000
解决方法查询的时候过滤下cast(nullif('','') as datetime) 
[sql] view plain copy
select cast('' as datetime)  
    , cast(nullif('','') as datetime)  
    , isnull(cast(nullif('','') as datetime),getdate())  
/*  
----------------------- ----------------------- -----------------------  
1900-01-01 00:00:00.000 NULL                    2009-02-25 17:18:15.140  
  
(1 行受影响)  
  
*/