SQL Server中的邏輯函數(shù)介紹
IIF: 根據(jù)布爾表達(dá)式計(jì)算為 true 還是 false,返回其中一個(gè)值。
IIF 是一種用于編寫(xiě) CASE 表達(dá)式的快速方法。 它將傳遞的布爾表達(dá)式計(jì)算為第一個(gè)參數(shù),然后根據(jù)計(jì)算結(jié)果返回其他兩個(gè)參數(shù)之一。也即,如果布爾表達(dá)式為 true,則返回 true_value;如果布爾表達(dá)式為 false 或未知,則返回 false_value。 true_value 和 false_value 可以是任何類(lèi)型。
語(yǔ)法:
IIF ( boolean_expression, true_value, false_value )
舉例:
DECLARE @a int = 45, @b int = 40; SELECT IIF ( @a > @b, "TRUE", "FALSE" ) AS Result;
CHOOSE: 從值列表返回指定索引處的項(xiàng)。
CHOOSE 像索引一樣進(jìn)入數(shù)組中,其中,數(shù)組由跟在索引參數(shù)之后的各參數(shù)組成。 索引參數(shù)確定將返回以下哪些值。從 1 開(kāi)始的索引
語(yǔ)法:
CHOOSE ( index, val_1, val_2 [, val_n ] )
舉例:下面的示例從所提供的值列表中返回第三項(xiàng)。
SELECT CHOOSE ( 3, "Manager", "Director", "Developer", "Tester" ) AS Result; --返回Developer
舉例:以下示例返回雇傭員工時(shí)的季度。 MONTH 函數(shù)用于從 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: 按順序計(jì)算變量并返回第一個(gè)不等于 NULL 的第一個(gè)表達(dá)式的當(dāng)前值
例如,SELECT COALESCE(NULL, NULL, 'third_value', 'fourth_value');
返回第三個(gè)值,因?yàn)榈谌齻€(gè)值是首個(gè)為非 Null 的值。如果所有參數(shù)都為 NULL
,則 COALESCE
返回 NULL
。
語(yǔ)法:
COALESCE ( expression [ ,...n ] )
舉例:
SELECT Name, Color, ProductNumber, COALESCE(Color, ProductNumber) AS FirstNotNull FROM Products ;
NULLIF:如果兩個(gè)指定的表達(dá)式相等,則返回空值。如果兩個(gè)表達(dá)式不相等,則 NULLIF 返回第一個(gè) expression 的值。
例如,SELECT NULLIF(4,4) AS Same, NULLIF(5,7) AS Different;
為第一列(4 和 4)返回 NULL,因?yàn)閮蓚€(gè)輸入值相同。 第二列返回第一個(gè)值 (5),因?yàn)閮蓚€(gè)輸入值不同。
舉例:
SELECT AVG(NULLIF(COALESCE(current_year, previous_year), 0.00)) AS "Average Budget" FROM budgets;
到此這篇關(guān)于SQL Server邏輯函數(shù)的文章就介紹到這了。希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持。
相關(guān)文章:
1. VS自帶的SQL server修改密碼并連接使用2. SQL SERVER偏移函數(shù)(LAG、LEAD、FIRST_VALUE、LAST _VALUE、NTH_VALUE)3. sql server注冊(cè)表操作相關(guān)的幾個(gè)未公開(kāi)過(guò)程4. SQL server 危險(xiǎn)存儲(chǔ)過(guò)程刪除與恢復(fù)5. sql server用代碼創(chuàng)建表的方法6. SQL Server 2000 在 win2003上安裝不上,我的解決辦法7. Sql server觸發(fā)器示例8. 在Windows xp系統(tǒng)上安裝了SQL server服務(wù)器版9. 自動(dòng)備份SQL Server數(shù)據(jù)庫(kù)中用戶(hù)創(chuàng)建的Stored Procedures10. Access轉(zhuǎn)Sql Server問(wèn)題 實(shí)例說(shuō)明
