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

2021-07-11 15:06:02 字數 750 閱讀 1867

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

@aint

=null

,

@bvarchar(50) =

null

select

coalesce(@a,@b)--

---------

null

--3、小心資料型別差異!!小心資料型別差異!!小心資料型別差異!!

--coalesce返回各項裡面資料型別最高端的型別

select

coalesce(1,'

a') --

okselect

coalesce('

a',1) --

報錯就是這個原因

簡單說下mysql本地事務

1 幾種事務問題 1 髒讀 事務a讀取事務b修改的資料,然後事務b進行了事務回滾,導致事務a讀取到。2 不可重複讀 事務a多次讀取乙個資料,在事務a讀取的期間,事務b對這個資料做了修改,並且提交,導致事務a多次讀取的資料前後不一致。3 幻讀 事務a對錶中符合條件的多條資料 或者全表 做資料修改,這時...

簡單說下docker的pull 和 push

pull 映象的元資訊與映象層資料分開儲存,當 pull 乙個映象時,先進行認證獲取到 token 並授權通過,然後獲取映象的 manifest 檔案,進行 signature 校驗。校驗完成後,依據 manifest 裡的層資訊併發拉 取各層。其中 manifest 包含的資訊有 倉庫名稱 tag...

簡單說下js閉包之setTimeout

今天寫 的時候發現 網頁上很多彈窗需要自動關閉 倒計時5秒之後使用者無操作就關閉了,angular 框架 如下,一 for var i 5 i 0 i i i 1000 輸出結果是 二 稍加改動,去掉函式 如下所示 for var i 5 i 0 i i i 1000 依然能夠正常使用 三 func...