人妖在线一区,国产日韩欧美一区二区综合在线,国产啪精品视频网站免费,欧美内射深插日本少妇

新聞動態(tài)

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

發(fā)布日期:2022-07-15 19:56 | 文章來源:gibhub

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的類型盡量保持一致,若不一致,當(dāng)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)Oraclenvl()和nvl2()函數(shù)內(nèi)容請搜索本站以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持本站!

國外服務(wù)器租用

版權(quán)聲明:本站文章來源標(biāo)注為YINGSOO的內(nèi)容版權(quán)均為本站所有,歡迎引用、轉(zhuǎn)載,請保持原文完整并注明來源及原文鏈接。禁止復(fù)制或仿造本網(wǎng)站,禁止在非www.sddonglingsh.com所屬的服務(wù)器上建立鏡像,否則將依法追究法律責(zé)任。本站部分內(nèi)容來源于網(wǎng)友推薦、互聯(lián)網(wǎng)收集整理而來,僅供學(xué)習(xí)參考,不代表本站立場,如有內(nèi)容涉嫌侵權(quán),請聯(lián)系alex-e#qq.com處理。

實時開通

自選配置、實時開通

免備案

全球線路精選!

全天候客戶服務(wù)

7x24全年不間斷在線

專屬顧問服務(wù)

1對1客戶咨詢顧問

在線
客服

在線客服:7*24小時在線

客服
熱線

400-630-3752
7*24小時客服服務(wù)熱線

關(guān)注
微信

關(guān)注官方微信
頂部