oracle怎樣進(jìn)行空值替換

oracle中,可利用nvl()函數(shù)進(jìn)行空值替換,該函數(shù)用于從兩個(gè)表達(dá)式中返回一個(gè)非null值,語法為“nvl(字段值,替換值)”;當(dāng)字段值的結(jié)果為null值時(shí),該函數(shù)會(huì)返回替換值,如果字段值的結(jié)果不是null值,則該函數(shù)會(huì)返回原字段值。

oracle怎樣進(jìn)行空值替換

本教程操作環(huán)境:Windows10系統(tǒng)、Oracle 11g版、Dell G3電腦。

oracle怎樣進(jìn)行空值替換

nvl 如果某個(gè)字段為空,想讓它顯示成0或者其他的數(shù)值,可以使用nvl函數(shù),如nvl(字段名,替換值)

從兩個(gè)表達(dá)式返回一個(gè)非 null 值。

語法

NVL(eExpression1,?eExpression2)

如果 eExpression1 的計(jì)算結(jié)果為 null 值,則 NVL( ) 返回 eExpression2。如果 eExpression1 的計(jì)算結(jié)果不是 null 值,則返回 eExpression1。eExpression1 和 eExpression2 可以是任意一種數(shù)據(jù)類型。如果 eExpression1 與 eExpression2 的結(jié)果皆為 null 值,則 NVL( ) 返回 .NULL.。

返回值類型

字符型、日期型、日期時(shí)間型、數(shù)值型、貨幣型、邏輯型或 null 值

在不支持 null 值或 null 值無關(guān)緊要的情況下,可以使用 NVL( ) 來移去計(jì)算或操作中的 null 值。

select?nvl(a.name,'空得')?as?name?from?student?a?join?school?b?on?a.ID=b.ID

注意:兩個(gè)參數(shù)得類型要匹配

??SELECT???????????T.D_FDATE, ????????????????????T.VC_ZHCODE, ?????????????????????????NVL(SUM(T.F_FZQSZ),?0)?f_price_b, ?????????????????????????NVL(SUM(T.F_FZQCB),?0)?f_cost_b, ?????????????????????????NVL(SUM(T.F_FGZ_ZZ),?0)?f_gz_b, ?????????????????????????NVL(SUM(T.F_FYZQSZ),?0)?f_price_Y, ????????????????????????NVL(SUM(T.F_FYZQCB),?0)?f_cost_Y, ????????????????????????NVL(SUM(T.F_FYGZ_ZZ),?0)?f_gz_Y, ????????????????????????T.VC_SOURCE, ????????????????????????SYSDATE?d_updatetime ???????????????????FROM?GZ_FUND_GZB?T

? ??

比如這樣的判斷就很重要啦,因?yàn)槟悴恢滥囊恍惺?is not null 的,也不知道接下來是否要對(duì)這個(gè)單元格進(jìn)行運(yùn)算操作,因此,不能給列填 null,就給它一個(gè) 0 ,便于查看,也便于運(yùn)算。

推薦教程:《Oracle教程

以上就是

? 版權(quán)聲明
THE END
喜歡就支持一下吧
點(diǎn)贊11 分享