SQL Server 函数

如果条件为 TRUE,SQL Server (Transact-SQL) IIF() 函数将返回值 value_if_true;如果条件为 FALSE,则返回值 value_if_false。

它类似于编程语言的中的IF ELSE语句。

语法

IIF(condition, value_if_true, value_if_false) 

参数

condition必填。 指定要测试的值。
value_if_true必填。 指定条件为TRUE时返回的值。
value_if_false必填。 指定条件为FALSE时返回的值。

返回值

返回基于条件的值。

示例 1:

下面的示例显示了IIF()函数的用法。

SELECT IIF(100>200, 'TRUE', 'FALSE');
Result: 'FALSE'

SELECT IIF(100<200, 'T', 'F');
Result: 'T'

SELECT IIF(100<200, 500, 600);
Result: 500 

示例 2:

考虑一个名为 Sample 的数据库表,其中包含以下记录:

Dataxy
Data 1108
Data 22022
Data 33031
Data 44039
Data 55053

以下查询用于比较列x和y的记录。根据比较,记录结果。

SELECT *, IIF(x > y, 'TRUE', 'FALSE') AS IIF_Value FROM Sample; 

这将产生如下所示的结果:

DataxyIIF_Value
Data 1108TRUE
Data 22022FALSE
Data 33031FALSE
Data 44039TRUE
Data 55053FALSE