Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
NULLIF fungsi
Sintaks
NULLIFEkspresi membandingkan dua argumen dan mengembalikan null jika argumen sama. Jika mereka tidak sama, argumen pertama dikembalikan. Ungkapan ini adalah kebalikan dari COALESCE ekspresi NVL atau.
NULLIF ( expression1, expression2 )
Argumen
- ekspresi1, ekspresi2
-
Kolom target atau ekspresi yang dibandingkan. Tipe pengembalian sama dengan tipe ekspresi pertama. Nama kolom default NULLIF hasilnya adalah nama kolom dari ekspresi pertama.
Contoh
Dalam contoh berikut, query mengembalikan string first
karena argumen tidak sama.
SELECT NULLIF('first', 'second');
case ------- first
Dalam contoh berikut, query kembali NULL
karena argumen literal string sama.
SELECT NULLIF('first', 'first');
case ------- NULL
Dalam contoh berikut, query kembali 1
karena argumen integer tidak sama.
SELECT NULLIF(1, 2);
case ------- 1
Dalam contoh berikut, query kembali NULL
karena argumen integer sama.
SELECT NULLIF(1, 1);
case ------- NULL
Dalam contoh berikut, query mengembalikan null ketika LISTID dan SALESID nilai cocok:
select nullif(listid,salesid), salesid from sales where salesid<10 order by 1, 2 desc; listid | salesid --------+--------- 4 | 2 5 | 4 5 | 3 6 | 5 10 | 9 10 | 8 10 | 7 10 | 6 | 1 (9 rows)
Anda dapat menggunakan NULLIF untuk memastikan bahwa string kosong selalu dikembalikan sebagai nol. Dalam contoh di bawah ini, NULLIF ekspresi mengembalikan nilai null atau string yang berisi setidaknya satu karakter.
insert into category values(0,'','Special','Special'); select nullif(catgroup,'') from category where catdesc='Special'; catgroup ---------- null (1 row)
NULLIFmengabaikan trailing blank. Jika string tidak kosong tetapi berisi kosong, NULLIF masih mengembalikan null:
create table nulliftest(c1 char(2), c2 char(2)); insert into nulliftest values ('a','a '); insert into nulliftest values ('b','b'); select nullif(c1,c2) from nulliftest; c1 ------ null null (2 rows)