IIF函数是Access数据库里面的判断值函数,此前一直是需要在Access环境下才能使用,如果Access数据库升迁到SqlServer数据库,则不能使用该IIF函数,要用case when进行转换;现在SQL Server 从2012版本开始支持IIF函数了,大家可以在SqlServer2012及以上版本中使用该IIF函数了。
用 法:
IIF( boolean_expression, true_value, false_value )
参 数:
boolean_expression
一个有效的布尔表达式。
如果此参数不是布尔表达式,则引发一个语法错误。
true_value
boolean_expression 计算结果为 true 时要返回的值。
false_value
boolean_expression 计算结果为 false 时要返回的值。
示 例:
Select IIF(数学成绩 < 60, '不及格', iif(数学成绩 <= 70,'及格',iif(数学成绩 < 90,'良好','优秀'))) AS Result from 数学成绩表
SQL Server2012之前的版本是没有iif函数,只能使用Case表达式来处理,SQL Server2012及之后的版本都含有iif函数,使用方法跟Access中的iif函数相同。
SQL Server中iif函数最大可以嵌套10层:
参考微软官方sqlserver的帮助说明:
https://docs.microsoft.com/zh-cn/sql/t-sql/functions/logical-functions-iif-transact-sql?view=sql-server-ver15