【SQL的學習筆記】SQL裏的三目運算符(甚至多目運算符)

方式一:使用IIF函數實現雙目運算符

傳入參數

IIF傳入三個參數:
第一個參數:一個條件表達式
第二個參數:當參數一的條件表達式判定爲TRUE時,IIF返回第二個參數的內容
第三個參數:當參數一的條件表達式判定爲FALSE時,IIF返回第三個參數的內容

返回值

IIF會根據第一個參數的判定結果,返回第二參數的內容(當判定結果爲TRUE時)或第三參數的內容(當判定結果爲FALSE時)

函數功能說明

相當於許多高級編程語言中的三目運算符,當參數一的條件表達式判定爲TRUE時IIF返回第二個參數的值;當參數一的條件表達式判定爲FALSE時IIF返回第三個參數的值。

提醒

由於IIF的功能,可以想到,一般調用IIF時,第二個參數與第三個參數應使用同一數據類型

方式二:使用CASE WHEN THEN () ELSE () END 實現雙目和多目運算符

語句說明

--強調:條件組裏可以是一個單一的條件語句,也可以是多個條件語句通過OR、AND關鍵字連接的多個條件的組合
CASE WHEN (條件組一) THEN (結果一)
	 WHEN (條件組二) THEN (結果二)
	 WHEN (條件組三) THEN (結果三)
	 ELSE (結果四) END
 --低級錯誤警告:這裏的關鍵字是CASE,而不是CAST

代碼示例

--定義三個變量
DECLARE @InputValue int
DECLARE @OutputValue1 nvarchar(8)
DECLARE @OutputValue2 nvarchar(8)

--設置傳入參數
SET @InputValue = 7

--利用語句對結果1進行賦值
SET @OutputValue1 = CASE WHEN @InputValue = 0 THEN '天'
						 WHEN @InputValue = 1 THEN '一'
						 WHEN @InputValue = 2 THEN '二'
						 WHEN @InputValue = 3 THEN '三'
						 WHEN @InputValue = 4 THEN '四'
						 WHEN @InputValue = 5 THEN '五'
						 WHEN @InputValue = 6 THEN '六'
						 ELSE '錯誤:輸入值溢出' END
--設置傳入參數
SET @InputValue = 0
--利用語句對結果2進行賦值
SET @OutputValue2 = CASE WHEN @InputValue = 0 THEN '天'
						 WHEN @InputValue = 1 THEN '一'
						 WHEN @InputValue = 2 THEN '二'
						 WHEN @InputValue = 3 THEN '三'
						 WHEN @InputValue = 4 THEN '四'
						 WHEN @InputValue = 5 THEN '五'
						 WHEN @InputValue = 6 THEN '六'
						 ELSE '錯誤:輸入值溢出' END

--顯示結果1內容
SELECT [星期] = @OutputValue1
UNION	--並集
--顯示結果2內容
SELECT [星期] = @OutputValue2

代碼運行結果:
在這裏插入圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章