Rumah > Artikel > pangkalan data > Penjelasan terperinci tentang contoh fungsi nvl() dan nvl2() dalam Oracle
Artikel ini membawakan anda pengetahuan yang berkaitan tentang Oracle Fungsi fungsi NVL adalah untuk menukar nilai nol dan mengembalikan respons berdasarkan sama ada nilai ungkapan pertama adalah nol atau ungkapan, artikel berikut terutamanya memperkenalkan anda kepada maklumat yang berkaitan tentang fungsi nvl() dan nvl2() dalam Oracle saya harap ia akan membantu anda.
Tutorial yang disyorkan: "Tutorial Video Oracle"
Penjelasan terperinci tentang fungsi nvl() dan nvl2() dalam Oracle:
[Penerangan fungsi]:
Jika nilai ungkapan1 adalah nol, fungsi mengembalikan ungkapan2; 🎜>select nvl(null,'ABCD') from dual; --返回:ABCD select nvl(null,'abcd') from dual; --返回:abcd select nvl(null,'12345') from dual; --返回:12345[Paparan sampel 2]: nilai ungkapan1 bukan nol:
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
ungkapan1 ialah jenis aksara:
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
select nvl('ABCD','abcd') from dual; --返回:ABCD select nvl('abcd','ABCD') from dual; --返回:abcd select nvl('12345','54321') from dual; --返回:12345[Sampel paparan 3]: Nilai ungkapan1 dan ungkapan2 kedua-duanya adalah nol:
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
2.nvl2: Kembalikan nilai parameter 2 atau parameter 3 bergantung pada sama ada parameter 1 adalah batal
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
select nvl(null,null) from dual; --返回空值 select nvl('',null) from dual; --返回空值 select nvl(null,'') from dual; --返回空值 select nvl('','') from dual; --返回空值[Penerangan fungsi] :
Jika nilai ekspresi1 bukan nol, fungsi mengembalikan nilai ekspresi2; nilai;
Jika Jika nilai ungkapan1, ungkapan2, dan ungkapan3 semuanya nol, fungsi itu mengembalikan nol.
select nvl2(0,'ABCD','abcd') from dual; --返回:ABCD select nvl2('a','ABCD','1234') from dual; --返回:ABCD select nvl2(sysdate,'1234','abcd') from dual; --返回:1234[Sampel paparan 2]: nilai ekspresi1 adalah nol: ungkapan2 dan ungkapan3 ialah kedua-dua jenis aksara:
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; --返回:-12345ungkapan2 dan ungkapan3 ialah kedua-dua nilai angka Jenis:
select nvl2(0,'ABCD',54321) from dual; --返回:ABCD select nvl2('a','abcd',543.21) from dual; --返回:abcd select nvl2(sysdate,'12345',-54321) from dual; --返回:12345Jenis data ungkapan2 dan ungkapan3 tidak konsisten: Nota: Pada masa ini, nilai ungkapan1 adalah nol, jadi fungsi akan mengembalikan nilai ungkapan3. Jika jenis ungkapan3 tidak boleh ditukar kepada jenis ungkapan2, ralat akan dilaporkan.
select nvl2(null,'ABCD','abcd') from dual; --返回:abcd select nvl2('','ABCD','1234') from dual; --返回:1234[Contoh paparan tiga]: ekspresi1 adalah batal, dan ungkapan2 atau ungkapan3 nilai adalah batal:
select nvl2(null,12345,54321) from dual; --返回:54321 select nvl2('',123.45,543.21) from dual; --返回:543.21Tutorial yang disyorkan: "
Tutorial Video Oracle
》Atas ialah kandungan terperinci Penjelasan terperinci tentang contoh fungsi nvl() dan nvl2() dalam Oracle. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!