SQL Server中的邏輯函數介紹
IIF: 根據布爾表達式計算為 true 還是 false,返回其中一個值。
IIF 是一種用于編寫 CASE 表達式的快速方法。 它將傳遞的布爾表達式計算為第一個參數,然后根據計算結果返回其他兩個參數之一。也即,如果布爾表達式為 true,則返回 true_value;如果布爾表達式為 false 或未知,則返回 false_value。 true_value 和 false_value 可以是任何類型。
語法:
IIF ( boolean_expression, true_value, false_value )
舉例:
DECLARE @a int = 45, @b int = 40; SELECT IIF ( @a > @b, "TRUE", "FALSE" ) AS Result;
CHOOSE: 從值列表返回指定索引處的項。
CHOOSE 像索引一樣進入數組中,其中,數組由跟在索引參數之后的各參數組成。 索引參數確定將返回以下哪些值。從 1 開始的索引
語法:
CHOOSE ( index, val_1, val_2 [, val_n ] )
舉例:下面的示例從所提供的值列表中返回第三項。
SELECT CHOOSE ( 3, "Manager", "Director", "Developer", "Tester" ) AS Result; --返回Developer
舉例:以下示例返回雇傭員工時的季度。 MONTH 函數用于從 HireDate
列返回月份值。
USE AdventureWorks2012; GO SELECT JobTitle, HireDate, CHOOSE(MONTH(HireDate),"Winter","Winter", "Spring","Spring","Spring","Summer","Summer", "Summer","Autumn","Autumn","Autumn","Winter") AS Quarter_Hired FROM HumanResources.Employee WHERE YEAR(HireDate) > 2005 ORDER BY YEAR(HireDate);
COALESCE: 按順序計算變量并返回第一個不等于 NULL 的第一個表達式的當前值
例如,SELECT COALESCE(NULL, NULL, 'third_value', 'fourth_value');
返回第三個值,因為第三個值是首個為非 Null 的值。如果所有參數都為 NULL
,則 COALESCE
返回 NULL
。
語法:
COALESCE ( expression [ ,...n ] )
舉例:
SELECT Name, Color, ProductNumber, COALESCE(Color, ProductNumber) AS FirstNotNull FROM Products ;
NULLIF:如果兩個指定的表達式相等,則返回空值。如果兩個表達式不相等,則 NULLIF 返回第一個 expression 的值。
例如,SELECT NULLIF(4,4) AS Same, NULLIF(5,7) AS Different;
為第一列(4 和 4)返回 NULL,因為兩個輸入值相同。 第二列返回第一個值 (5),因為兩個輸入值不同。
舉例:
SELECT AVG(NULLIF(COALESCE(current_year, previous_year), 0.00)) AS "Average Budget" FROM budgets;
到此這篇關于SQL Server邏輯函數的文章就介紹到這了。希望對大家的學習有所幫助,也希望大家多多支持。
相關文章:
1. 50種方法巧妙優化你的SQL Server數據庫2. 恢復誤刪數據(SQL Server 2000)--Log Explorer3. 用SQL Server為Web瀏覽器提供圖像(三)(轉)4. SQL Server 2000遇到的兩個問題及其解決辦法5. 剖析SQL Server 2005中的報告服務架構6. 用SQL Server為Web瀏覽器提供圖像(四)(轉)7. SQL Server 2005中的T-SQL增強8. SQL Server補丁版本的檢查和安裝過程中常見問題9. 解決問題: sql server 2000 企業管理器打不開了10. 無法在 SQL Server 2005 Manger Studio 中錄入中文的問題
