SQL Server IIF()函数具有三个参数。 IIF()函数判断或评估第一个参数,如果第一个参数为真,则返回第二个参数;否则,它返回第三个参数。在SQL Server中使用的IIF()函数将if-else逻辑添加到查询中。
用法:
IIF(boolean_value, true_value, false_value)
语法中使用的参数:
- boolean_value-
这是一个需要判断的价值。它必须是有效的布尔值,否则该函数将引发错误。 - true_value-
如果boolean_value为true,则为要得到的值。 - false_value-
如果boolean_value为false,则为该值。
要知道的事实:IIF()函数类似于CASE表达式-
CASE WHEN boolean_expression THEN true_value ELSE false_value END
示例1:
要使用IIF()函数检查是否40 <60:
SELECT IIF(40 < 60, 'True', 'False') AS Result ;
输出:
结果
让我们假设下面有一个名为“ Geektable”的示例表:
G_id | G_状态 |
---|---|
1 | 3 |
2 | 2 |
3 | 4 |
4 | 2 |
5 | 3 |
6 | 1 |
7 | 2 |
8 | 1 |
9 | 4 |
10 | 1 |
11 | 4 |
12 | 3 |
13 | 1 |
14 | 3 |
示例-2:
在表列中使用IIF()函数。
下面的示例在IIF()函数中使用IIF()函数:
SELECT IIF(G_status = 1, ‘Waiting’, IIF(G_status=2, ‘InProgress’, IIF(G_status=3, ‘Rejected’, IIF(G_status=4, ‘Completed’) ) ) ) AS Status, COUNT(G_id) AS Count FROM Geektable GROUP BY G_status ;
输出:
状态 | 计数 |
---|---|
Waiting | 4 |
InProgress | 3 |
Rejected | 4 |
Completed | 3 |
示例3:
将IIF()函数与聚合函数一起使用。
下面的示例将IIF()函数与SUM()函数一起使用:
SELECT SUM(IIF(G_status = 1, 1, 0)) AS ‘Waiting’, SUM(IIF(G_status = 2, 1, 0)) AS ‘InProgress’, SUM(IIF(G_status = 3, 1, 0)) AS ‘Rejected’, SUM(IIF(G_status = 4, 1, 0)) AS ‘Completed’, COUNT(*) AS Total FROM Geektable;
输出:
如果状态匹配,则IIF()函数的结果为1或0。 SUM()函数产生每个状态的编号。
等候 | 进行中 | 拒绝 | 已完成 | 总 |
---|---|---|---|---|
4 | 3 | 4 | 3 | 15 |
相关用法
- SQL Server STUFF()用法及代码示例
- SQL Server SIN()、COS()用法及代码示例
- SQL Server RANK()用法及代码示例
- SQL Server NTILE()用法及代码示例
- SQL Server STR()用法及代码示例
- SQL Server UNICODE()用法及代码示例
- SQL Server SUBSTRING()用法及代码示例
- SQL Server RTRIM()用法及代码示例
- SQL Server FLOOR()、CEILING()用法及代码示例
- SQL Server TAN()、COT()用法及代码示例
- SQL Server DEGREES()、RADIANS()用法及代码示例
- SQL Server ATN2()用法及代码示例
- SQL Server LOG10()用法及代码示例
- SQL Server LOG()用法及代码示例
- SQL Server ASCII()用法及代码示例
- SQL Server DIFFERENCE()用法及代码示例
- SQL Server FORMAT()用法及代码示例
- SQL Server LEN()用法及代码示例
- SQL Server CONCAT_WS()用法及代码示例
- SQL Server DATALENGTH()用法及代码示例
- SQL Server UPPER()用法及代码示例
注:本文由纯净天空筛选整理自khushboogoyal499大神的英文原创作品 IIF() Function in SQL Server。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。