本文將介紹 SQL Server 2012 新的邏輯函數(CHOOSE、IIF)。
當我們在 T-SQL 中進行二元以上的邏輯判斷,通常會使用 CASE 敘述,假設您有四個條件要判斷就得如下圖的 T-SQL 敘述一樣,寫四個 WHEN 敘述來判斷四種條件分別要回傳的結果。當您有更多的條件需要判斷時,會造成 T-SQL 敘述便很長,而且要一個一個輸入 WHEN 所要對應的條件,會顯得相當繁瑣。
SQL Server 2012 提供了新的邏輯函數 CHOOSE 用來做這種二元以上的邏輯判斷,您可以把上述的程式碼改寫成如下圖的樣子,透過這種方式,您不需要列舉每個條件的值,CHOOSE 函數會根據 INDEX 去對應要回傳哪個值(VALUE)。
另外,假設您只需要做二元的判斷,可以利用 IIF 來簡化程式碼(如下圖)。
【參考資料】