[MS SQL]SQL表达式NULLIF讲解

来源:互联网 发布:中国战争电影 知乎 编辑:程序博客网 时间:2024/06/07 16:04

从MSDN我们了解到,NULLIF的意思就是,如果两个表达式相等,则返回NULL。如果两个表达式不相等,则返回第一个表达式。

提醒:在类似于RAND等基于时间运算的函数中,不要使用NULLIF。这样会导致函数计算两次,而且每次都返回不同的值。

简单用法如下:

 SELECT *, NULLIF(hourly_wage, salary) as Result 
 FROM dbo.wages

如果hourly_wage不等于salary,那么返回hourly_wage的内容,如下

image

如果hourly_wage等于salary,那么返回NULL,如下:

image

这时候有个特殊情况需要注意。

如果hourly_wage为NULL,salary不为空,则他俩不相等,则返回hourly_wage的值,hourly_wage的值为NULL,即返回NULL。如下

image

而如果hourly_wage和salary都为NULL,则返回也为NULL。

0 0
原创粉丝点击