簡單說下COALESCE這個日常使用的函數


COALESCE 

作用是返回第一個非空的值。

SELECT COALESCE(NULL,NULL,'A','CC')

----
A

原理的話其實也是相當於

case when A is not null then A

   when B is not null then B

    .

    .

    .

    else N end

對於簡化代碼來說確實不錯~

 

--總結下面3點
--1、不能所有常量都使用NULL,只有報錯的份
SELECT COALESCE(NULL,NULL) 

--2、針對情況1,用變量的話是可以的!
DECLARE @A INT = NULL,
        @B VARCHAR(50) = NULL

SELECT COALESCE(@A,@B)

-----------
NULL


--3、小心數據類型差異!!小心數據類型差異!!小心數據類型差異!!
--COALESCE返回各項里面數據類型最高級的類型
SELECT COALESCE(1,'A')    --OK
SELECT COALESCE('A',1)    --報錯
就是這個原因

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM