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. The MySQL server is running with the --read-only option so it cannot execute this statement2. sql server 2005中的DDL觸發器3. 如何禁止遠程訪問sql server4. SQL Server 2008數據庫引擎優化顧問與索引優化向導之間的差別5. SQL Server數據庫超級管理員賬號防護知識6. sql server修改表格數據的方法7. SQL server分頁的四種方法思路詳解(最全面教程)8. 終級解決SQL Server 2005 未正常卸載,重新安裝問題9. 解決 Can’t connect to local mysql server through socket ‘/tmp/mysql.sock’ (2) |#200210. SQL Server EXEC和sp_executesql的區別

網公網安備