国产成人精品久久免费动漫-国产成人精品天堂-国产成人精品区在线观看-国产成人精品日本-a级毛片无码免费真人-a级毛片毛片免费观看久潮喷

您的位置:首頁技術(shù)文章
文章詳情頁

Oracle中nvl()和nvl2()函數(shù)實例詳解

瀏覽:125日期:2023-03-12 15:25:05
目錄
  • 1.nvl:根據(jù)參數(shù)1是否為null返回參數(shù)1或參數(shù)2的值
    • 【樣例展示一】:expression1值為null:
    • 【樣例展示二】:expression1值不為null:
    • 【樣例展示三】:expression1、expression2值均為null:
  • 2.nvl2:根據(jù)參數(shù)1是否為null返回參數(shù)2或參數(shù)3的值
    • 【樣例展示一】:expression1值不為null:
    • 【樣例展示二】:expression1值為null:
    • 【樣例展示三】:expression1為null,且expression2或expression3值為null:
  • 總結(jié)

    Oracle中nvl()與nvl2()函數(shù)詳解:

    • 函數(shù)nvl(expression1,expression2)根據(jù)參數(shù)1是否為null返回參數(shù)1或參數(shù)2的值;
    • 函數(shù)nvl2(expression1,expression2,expression3)根據(jù)參數(shù)1是否為null返回參數(shù)2或參數(shù)3的值。

    1.nvl:根據(jù)參數(shù)1是否為null返回參數(shù)1或參數(shù)2的值

    【函數(shù)格式】:nvl(expression1,expression2)

    【函數(shù)說明】:

    • 若expression1值為null,則該函數(shù)返回expression2;
    • 若expression1值不為null,則該函數(shù)返回expression1;
    • 若expression1、expression2的值均為null,則該函數(shù)返回null。

    【特別說明】:參數(shù)expression1和expression2可以是字符型、數(shù)字型或日期型,但參數(shù)expression1與expression2的類型必須一致。

    【樣例展示一】:expression1值為null:

    expression2為字符型:

    select nvl(null,"ABCD") from dual;--返回:ABCD
    select nvl(null,"abcd") from dual;--返回:abcd
    select nvl(null,"12345") from dual;--返回:12345

    expression2為數(shù)值型:

    select nvl(null,12345) from dual;--返回:12345
    select nvl(null,00000) from dual;--返回:0
    select nvl(null,-12345) from dual;--返回:-12345
    select nvl(null,123.45) from dual;--返回:123.45
    select nvl(null,-123.45) from dual;--返回:-123.45

    expression2為日期時間型:

    select nvl(null,sysdate) from dual;--返回:2022/2/25 11:54:18
    select nvl(null,to_date("2022/2/25 11:54:18","yyyy-mm-dd hh24:mi:ss")) from dual;--返回:2022/2/25 11:54:18
    select nvl(null,to_date("2022/2/25","yyyy-mm-dd")) from dual;--返回:2022/2/25
    select nvl(null,to_date("2022","yyyy")) from dual;--返回:2022/2/1

    【樣例展示二】:expression1值不為null:

    expression1為字符型:

    select nvl("ABCD","abcd") from dual;--返回:ABCD
    select nvl("abcd","ABCD") from dual;   --返回:abcd
    select nvl("12345","54321") from dual;--返回:12345

    expression1為數(shù)值型:

    select nvl(12345,null) from dual;--返回:12345
    select nvl(00000,11111) from dual;--返回:0
    select nvl(-12345,null) from dual;--返回:-12345
    select nvl(123.45,-123.45) from dual;--返回:123.45
    select nvl(-123.45,123.45) from dual;--返回:-123.45

    expression1為日期時間型:

    select nvl(sysdate,null) from dual;--返回:2022/2/25 12:18:23
    select nvl(to_date("2022/2/25 12:18:23","yyyy-mm-dd hh24:mi:ss"),null) from dual;--返回:2022/2/25 12:18:23
    select nvl(to_date("2022/2/25","yyyy-mm-dd"),null) from dual;--返回:2022/2/25
    select nvl(to_date("2022","yyyy"),null) from dual;--返回:2022/2/1

    【樣例展示三】:expression1、expression2值均為null:

    select nvl(null,null) from dual;--返回空值
    select nvl("",null) from dual;--返回空值
    select nvl(null,"") from dual;--返回空值
    select nvl("","") from dual;--返回空值

    2.nvl2:根據(jù)參數(shù)1是否為null返回參數(shù)2或參數(shù)3的值

    【函數(shù)格式】:nvl2(expression1,expression2,expression3)

    【函數(shù)說明】:

    • 若expression1值不為null,則該函數(shù)返回expression2值;
    • 若expression1值為null,則該函數(shù)返回expression3值;
    • 若expression1、expression2、expression3值均為null,則該函數(shù)返回null。

    【特別說明】:

    • expression1的類型不需要與expression2和expression3的類型保持一致;
    • expression2與expression3的類型盡量保持一致,若不一致,當expression1為null時,則expression3會自動轉(zhuǎn)換為expression2的類型,若兩個數(shù)據(jù)類型之間無法轉(zhuǎn)換,則會報錯。

    【樣例展示一】:expression1值不為null:

    expression2和expression3均為字符型:

    select nvl2(0,"ABCD","abcd") from dual;--返回:ABCD
    select nvl2("a","ABCD","1234") from dual;--返回:ABCD
    select nvl2(sysdate,"1234","abcd") from dual;--返回:1234

    expression2和expression3均為數(shù)值型:

    select nvl2(0,12345,54321) from dual;--返回:12345
    select nvl2("a",123.45,543.21) from dual;--返回:123.45
    select nvl2(sysdate,-12345,-54321) from dual;--返回:-12345

    expression2和expression3數(shù)據(jù)類型不一致:

            注意:此時expression1有值,因此該函數(shù)直接返回expression2的值,即使expression3的類型無法轉(zhuǎn)換為expression2的類型也不會報錯。

    select nvl2(0,"ABCD",54321) from dual;--返回:ABCD
    select nvl2("a","abcd",543.21) from dual;--返回:abcd
    select nvl2(sysdate,"12345",-54321) from dual;--返回:12345

    【樣例展示二】:expression1值為null:

    expression2和expression3均為字符型:

    select nvl2(null,"ABCD","abcd") from dual;--返回:abcd
    select nvl2("","ABCD","1234") from dual;--返回:1234

    expression2和expression3均為數(shù)值型:

    select nvl2(null,12345,54321) from dual;--返回:54321
    select nvl2("",123.45,543.21) from dual;--返回:543.21

    expression2和expression3數(shù)據(jù)類型不一致:

            注意:此時expression1值為null,因此該函數(shù)會返回expression3的值,若expression3的類型無法轉(zhuǎn)換為expression2的類型,則會報錯。

    select nvl2(null,"ABCD",54321) from dual;--返回:54321
    select nvl2("","abcd",543.21) from dual;--返回:543.21
    select nvl2("",543.21,"abcd") from dual;--執(zhí)行報錯
    select nvl2(null,"abcd",sysdate) from dual;--返回:25-2月 -22
    select nvl2(null,sysdate,"abcd") from dual;--執(zhí)行報錯

    【樣例展示三】:expression1為null,且expression2或expression3值為null:

    select nvl2(null,null,"123") from dual;--返回:123
    select nvl2(null,"abc",null) from dual;--返回:空值
    select nvl2(null,null,null) from dual;--返回:空值
    select nvl2("","","") from dual;--返回:空值
    

    總結(jié)

    到此這篇關(guān)于Oracle中nvl()和nvl2()函數(shù)詳解的文章就介紹到這了,更多相關(guān)Oracle nvl()和nvl2()函數(shù)內(nèi)容請搜索以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持!

    標簽: Oracle
    主站蜘蛛池模板: 欧美亚洲另类视频 | 精品外国呦系列在线观看 | 久久精品一级 | 九九亚洲 | 看色网站 | 黄在线观看在线播放720p | 成人a毛片手机免费播放 | 亚洲美女视频 | 久草在线视频免费播放 | 黄色美女视频网站 | 高清国产在线 | 国产成人教育视频在线观看 | 日本二级毛片免费 | 欧美日韩在线播一区二区三区 | 亚州人成网在线播放 | 日本亚洲高清 | 欧美一级俄罗斯黄毛片 | 亚洲欧美另类专区 | 成人欧美视频 | 国产伦精品一区二区三区四区 | 国产精品亚洲高清一区二区 | 日韩欧美a级高清毛片 | 男人的天堂高清在线观看 | 国产日本精品 | 欧美成人三级网站 | 亚洲 欧美 日韩在线 | 在线 中文字幕 日韩 欧美 | 午夜影院欧美 | 亚洲综合伦理一区 | 一色屋色费精品视频在线看 | 国产亚洲精品激情一区二区三区 | 亚洲一区二区在线 | 欧美三级黄色大片 | 国产成人91精品 | 亚洲人成在线免费观看 | 在线中文字幕精品第5页 | 中文字幕视频免费在线观看 | 久草在线中文最新视频 | 久久公开视频 | 日韩毛片高清免费 | 国产在线美女 |