mssql sql server 其它系统函数 nullif() 函数应用简介


一、 nullif函数功能简介

nullif函数的主要功能是:比较两个参数是否相等,如果相等,则返回null,否则返回左边的参数

如果两个参数类型,不一致时,系统首先会转换数据类型, 一般将字符类型转换为 时间类型  数值类型 然后再做等值比较


nullif 函数语法简介
输入参数:
参数1(左值参数):任意类型
参数2(右值参数):任意类型
返回结果:
参数1同参数2相等时,返回null
参数1同参数2不相等时,返回参数1
 


二、nullif函数举例应用

    *参数相等时 返回null*/
declare @a varchar(10),@b varchar(20)
set @a ='相等'
set @b ='相等' 
 select nullif(@a,@b)
 go
 
 /*参数相等时 返回null*/
declare @a varchar(10),@b int
set @a ='0'
set @b =0.00 
 select nullif(@a,@b)
 go
 
/*参数不相等时 返回@a*/
declare @a varchar(10),@b datetime
set @a ='' 
 select nullif(@a,@b)
 go


  /*如果应用表中两列进行等值比较,数据类型需一致,
不然易发生数据转换错误,而导致终止操作*/
create table A(keyId varchar(20),info varchar(20))
insert into A values(1,'a'),(2,'b'),(null,'c'),(null,'d'),(1,'1.00'),
(20,'20')

select keyId,info,
nullif(keyId,info) as [nullif函数应用] from A 

truncate table A
drop     table A