函式 COALESCE 函式處理空值

2021-09-14 06:41:24 字數 1454 閱讀 8457

1.coalesce()函式介紹

這個函式主要用來進行空值處理,其引數格式如下: coalesce ( expression,value1,value2……,valuen) 

coalesce()函式的第乙個引數expression為待檢測的表示式,而其後的引數個數不定。

coalesce()函式將會返回包括expression在內的所有引數中的第乙個非空表示式。

如果expression不為空值則返回expression;

否則判斷value1是否是空值,如果value1不為空值則返回value1;

否則判斷value2是否是空值,如果value2不為空值則返回value2;

……以此類推,

如果所有的表示式都為空值,則返回null。

2.示例測試

1.需求

我們將使用coalesce()函式完成下面的功能,返回人員的「重要日期」

如果出生日期不為空則將出生日期做為「重要日期」,

如果出生日期為空則判斷註冊日期是否為空,

如果註冊日期不為空則將註冊日期做為「重要日期」,

如果註冊日期也為空則將「2023年8月8日」做為「重要日期」

2.表的建立和測試資料插入

表tp_date結構 :(fname姓名,birthday出生日期,fregday註冊日期)

create table tp_date

( fname varchar(20

),fbirthday date,

fregday date

)

插入測試資料資料

3.查詢

//mysql、mssqlserver、db2寫法: 

select fname,fbirthday,fregday,

coalesce

(fbirthday,fregday,

'2018-08-08'

)as importday

from tp_date

//oracle寫法:

select fname,fbirthday,fregday,

coalesce

(fbirthday,fregday,

to_date

('2018-08-08'

,'yyyy-mm-dd hh24:mi:ss'))

as importday

from tp_date

查詢結果:

coalesce 函式詳解

coalesce 函式 返回列表中第乙個非null表示式的值。如果所有表示式求值為null,則返回null。coalesce expression 1,expression 2,expression n 依次參考各引數表示式,遇到非null值即停止並返回該值。如果所有的表示式都是空值,最終將返回乙個...

COALESCE函式的用法

coalesce這個函式系統的用法如下 a.輸入引數為字元型別,且允許為空的,可以使用coalesce inputparameter,把null轉換成 b.輸入型別為整型,且允許為空的,可以使用coalesce inputparameter,0 把空轉換成0 c.輸入引數為字元型別,且是非空非空格的...

COALESCE 函式 和CASE語句

coalesce 函式功能 返回列表中的第乙個非空表示式。語法coalesce expression,expression 引數expression 任意表示式。標準和相容性 sql 92 sql 92 sql 99 核心特性。示例下面的語句返回值34。select coalesce null,34...