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。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。