首頁 >資料庫 >Oracle >oracle怎麼進行空值替換

oracle怎麼進行空值替換

WBOY
WBOY原創
2022-01-21 10:44:068648瀏覽

在oracle中,可利用nvl()函數進行空值替換,該函數用於從兩個表達式中返回一個非null值,語法為「nvl(字段值,替換值)」;當欄位值的結果為null值時,函數會傳回替換值,如果欄位值的結果不是null值,則函數會傳回原始欄位值。

oracle怎麼進行空值替換

本教學操作環境:Windows10系統、Oracle 11g版、Dell G3電腦。

oracle怎麼進行空值替換

nvl 如果某個欄位為空,想讓它顯示成0或其他的數值,可以使用nvl函數,如nvl(欄位名,取代值)

從兩個表達式傳回一個非null 值。

語法

NVL(eExpression1, eExpression2)

如果 eExpression1 的計算結果為 null 值,則 NVL( ) 傳回 eExpression2。如果 eExpression1 的計算結果不是 null 值,則傳回 eExpression1。 eExpression1 和 eExpression2 可以是任一種資料型態。如果 eExpression1 與 eExpression2 的結果皆為 null 值,則 NVL( ) 傳回 .NULL.。

傳回值類型

字元型、日期型、日期時間型、數值型、貨幣型、邏輯型或null 值

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

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

注意:兩個參數要類型要匹配

  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

    

例如這樣的判斷就很重要啦,因為你不知道哪一行是is not null 的,也不知道接下來是否要對這個單元格進行運算操作,因此,不能給列填null,就給它一個0 ,便於查看,也便於運算。

推薦教學:《Oracle教學

以上是oracle怎麼進行空值替換的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn