成人欧美一区二区三区的电影,日韩一级一欧美一级国产,国产成人国拍亚洲精品,无码人妻精品一区二区三区毛片,伊人久久无码大香线蕉综合

LOGO OA教程 ERP教程 模切知識(shí)交流 PMS教程 CRM教程 開發(fā)文檔 其他文檔  
 
網(wǎng)站管理員

Sql Server數(shù)據(jù)庫中isnull、iif、case when三種方式的使用和空值判斷

zhenglin
2025年9月30日 16:10 本文熱度 2327

ISNULL用法

在 SQL Server中,ISNULL 函數(shù)只接受兩個(gè)參數(shù),不支持三個(gè)參數(shù)的情況。
博主剛開始是這么用的 ISNULL(t11.ItemCode,'Y','N') ,這種寫法是錯(cuò)誤的。

ISNULL 函數(shù)的正確語法是:

ISNULL(check_expression, replacement_value)


case when用法

如果需要實(shí)現(xiàn)類似三個(gè)參數(shù)的功能(當(dāng)字段為 NULL 時(shí)返回 ‘Y’,否則返回 ‘N’),可以使用 CASE WHEN 表達(dá)式:

CASE WHEN t11.ItemCode IS NULL THEN 'Y' ELSE 'N' END


iif

或者使用更簡潔的 IIF 函數(shù)(SQL Server 2012 及以上版本支持):


IIF(t11.ItemCode IS NULL, 'Y', 'N')


查詢小技巧

技巧一

使用 CONCAT 安全地拼接字符串

問題: 傳統(tǒng)的用加號(hào) + 拼接字符串時(shí),如果任何一個(gè)字段為 NULL,整個(gè)結(jié)果都會(huì)變成 NULL

舊方法(有風(fēng)險(xiǎn)):

SELECT FirstName + ' ' + LastName AS FullName

FROM Employees;

-- 如果 FirstName 或 LastName 為 NULL,F(xiàn)ullName 就會(huì)顯示為 NULL


小技巧(使用 CONCAT):


SELECT CONCAT(FirstName, ' ', LastName) AS FullName

FROM Employees;


好處:

  • CONCAT 函數(shù)會(huì)自動(dòng)將 NULL 值視為空字符串 '' 來處理。

  • 即使 FirstName 或 LastName 為 NULL,其他部分依然會(huì)正常拼接,最終結(jié)果不會(huì)是 NULL。

  • 代碼更簡潔易讀。



技巧二

使用 EXISTS 代替 IN 來檢查存在性

問題: 當(dāng)使用 IN 子查詢時(shí),數(shù)據(jù)庫需要先執(zhí)行整個(gè)子查詢,返回所有結(jié)果集,然后再進(jìn)行主查詢和子查詢結(jié)果的匹配,如果子查詢結(jié)果集很大,性能會(huì)較差。

舊方法(可能低效):

SELECT *

FROM Customers

WHERE CustomerID IN (

    SELECT DISTINCT CustomerID 

    FROM Orders 

    WHERE OrderDate > '2023-01-01'

);


小技巧(使用 EXISTS):

SELECT *

FROM Customers c

WHERE EXISTS (

    SELECT 1 

    FROM Orders o 

    WHERE o.CustomerID = c.CustomerID 

    AND o.OrderDate > '2023-01-01'

);


好處:

  • 性能更高EXISTS 是一種關(guān)聯(lián)子查詢,一旦找到一條滿足條件的記錄就會(huì)立即返回 True 并停止搜索,避免了處理整個(gè)子查詢結(jié)果集。

  • 語義更清晰EXISTS 直接表達(dá)了“是否存在”的邏輯意圖。

  • 在子查詢結(jié)果集很大時(shí),性能提升尤為明顯。


這兩個(gè)技巧一個(gè)側(cè)重于數(shù)據(jù)的可靠性和整潔性,另一個(gè)側(cè)重于查詢的性能優(yōu)化,都是日常開發(fā)中非常實(shí)用的“利器”。


參考文章:原文鏈接?
?


該文章在 2025/9/30 16:10:53 編輯過
關(guān)鍵字查詢
相關(guān)文章
正在查詢...
點(diǎn)晴ERP是一款針對(duì)中小制造業(yè)的專業(yè)生產(chǎn)管理軟件系統(tǒng),系統(tǒng)成熟度和易用性得到了國內(nèi)大量中小企業(yè)的青睞。
點(diǎn)晴PMS碼頭管理系統(tǒng)主要針對(duì)港口碼頭集裝箱與散貨日常運(yùn)作、調(diào)度、堆場、車隊(duì)、財(cái)務(wù)費(fèi)用、相關(guān)報(bào)表等業(yè)務(wù)管理,結(jié)合碼頭的業(yè)務(wù)特點(diǎn),圍繞調(diào)度、堆場作業(yè)而開發(fā)的。集技術(shù)的先進(jìn)性、管理的有效性于一體,是物流碼頭及其他港口類企業(yè)的高效ERP管理信息系統(tǒng)。
點(diǎn)晴WMS倉儲(chǔ)管理系統(tǒng)提供了貨物產(chǎn)品管理,銷售管理,采購管理,倉儲(chǔ)管理,倉庫管理,保質(zhì)期管理,貨位管理,庫位管理,生產(chǎn)管理,WMS管理系統(tǒng),標(biāo)簽打印,條形碼,二維碼管理,批號(hào)管理軟件。
點(diǎn)晴免費(fèi)OA是一款軟件和通用服務(wù)都免費(fèi),不限功能、不限時(shí)間、不限用戶的免費(fèi)OA協(xié)同辦公管理系統(tǒng)。
Copyright 2010-2025 ClickSun All Rights Reserved