當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


SQL Server IIF()用法及代碼示例


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 ; 

輸出: 結果

True

讓我們假設下麵有一個名為“ 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

相關用法


注:本文由純淨天空篩選整理自khushboogoyal499大神的英文原創作品 IIF() Function in SQL Server。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。