SQL SERVER 2008---NULLIF

今天做项目时遇到一个问题:画面上有选择日期的地方,当然这个日期不是必填项,可以不选择,但是如果不选择的话就会以string.empty的形式向数据库插入/更新数据,这时数据库中存在的其实是1900-01-01,而不是我想要的空字符串;再检索画面时,就直接将1900-01-01显示出来了。

解决方法:

使用NULLIF函数,在插入/更新语句中使用

 

select nullif('a','')      //结果:a

select nullif('a','b')    //结果:a

select nullif(null,'b')  //结果:NULLIF 的第一个参数的类型不能是 NULL 常量,因为第一个参数的类型必须是已知的

select nullif('','b')      //结果:空字符串

select nullif('','')        //结果:NULL

利用上面蓝色字体就可以向数据库中插入NULL,而不会插入1900-01-01了

例:

insert into tMyTable
    (dDate)
values
    (nullif('',''))

------结果------

      iAuto_id    dDate

           1          NULL

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值