前言
SQL SERVER 2012中新增了IIF函数,这个函数在VB或是ACCESS中是存在的。感兴趣的朋友们下面来一起学习学习吧。
格式如下
1
|
iif(布尔表达式,value1,value2) |
也就是说如果表达式成立,那么就返回value1,如果不成立,就返回value2.
示例如下
例如:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
|
select iif(30>45, '对' , '错' ) as 结果 /* 结果 ---- 错 */ select iif( null = null , '对' , '错' ) as 结果 /* 结果 ---- 错 */ select iif( null is null , '对' , '错' ) as 结果 /* 结果 ---- 对 */ |
这让我想起SQLSERVER之前有个函数叫NULLIF,如果两个指定的表达式相等,则返回空值。
1
2
3
4
5
6
|
declare @i int set @i= null select NULLIF (@i, null ) /* NULL */ |
NULLIF上面返回NULL,并不说明两者相等,而是两者不相等时,返回前者,而前者的@i恰巧为NULL造成的。
总结
以上就是关于SQL SERVER 2012新增函数之逻辑函数IIF的全部内容了,希望本文的内容对大家的学习或者工作能带来一定的帮助,如果有疑问大家可以留言交流,谢谢大家对服务器之家的支持。
原文链接:http://blog.csdn.net/maco_wang/article/details/22982709