溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

SQL?Server中的邏輯函數(shù)怎么使用

發(fā)布時(shí)間:2022-05-24 17:20:48 來(lái)源:億速云 閱讀:160 作者:iii 欄目:開(kāi)發(fā)技術(shù)

這篇文章主要介紹“SQL Server中的邏輯函數(shù)怎么使用”的相關(guān)知識(shí),小編通過(guò)實(shí)際案例向大家展示操作過(guò)程,操作方法簡(jiǎn)單快捷,實(shí)用性強(qiáng),希望這篇“SQL Server中的邏輯函數(shù)怎么使用”文章能幫助大家解決問(wèn)題。

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 可以是任何類型。

語(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 ;

SQL?Server中的邏輯函數(shù)怎么使用

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ù)怎么使用”的內(nèi)容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業(yè)相關(guān)的知識(shí),可以關(guān)注億速云行業(yè)資訊頻道,小編每天都會(huì)為大家更新不同的知識(shí)點(diǎn)。

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI