MaxCompute memungkinkan Anda menggunakan fungsi NVL untuk mengganti nilai null dalam kueri dengan nilai tertentu. Dengan cara ini, hasil analisis data atau pembuatan laporan tidak akan mencakup nilai null yang tidak terduga. Topik ini menjelaskan penggunaan fungsi NVL di MaxCompute.
Sintaksis
nvl(T <value>, T <default_value>)Parameter
value: Wajib. Parameter input.
Tmenentukan tipe data input, yang dapat berupa tipe data apa pun yang didukung oleh MaxCompute.default_value: Wajib. Nilai yang digunakan untuk mengganti null. Tipe data dari default_value harus sama dengan tipe data dari value.
Nilai pengembalian
Jika value adalah null, default_value akan dikembalikan. Jika tidak, value akan dikembalikan. Parameter value dan default_value harus memiliki tipe data yang sama.
Data sampel
Berikut adalah data sampel untuk mendemonstrasikan penggunaan fungsi NVL. Pada contoh ini, tabel bernama nvl_test dibuat dan data ditambahkan ke tabel. Contoh pernyataan:
CREATE TABLE nvl_test (
c1 string,
c2 bigint,
c3 datetime);
-- Masukkan data ke dalam tabel.
INSERT INTO nvl_test VALUES
('aaa',23,'2024-01-11 00:00:00'),
('bbb',NULL,'2024-01-12 08:00:00'),
(NULL,20,'2024-01-13 05:00:00'),
('ddd',25,NULL);Contoh
Tabel nvl_test berisi kolom berikut: c1, c2, dan c3. Fungsi NVL mengganti nilai null pada kolom c1 dengan 00000, mengganti nilai null pada kolom c2 dengan 0, dan mengganti nilai null pada kolom c3 dengan tanda hubung (-). Contoh pernyataan:
SELECT nvl(c1,'00000'),nvl(c2,0),nvl(c3,'-') FROM nvl_test;
-- Hasil berikut dikembalikan:
+-----+------------+-----+
| _c0 | _c1 | _c2 |
+-----+------------+-----+
| aaa | 23 | 2024-01-11 00:00:00 |
| bbb | 0 | 2024-01-12 08:00:00 |
| 00000 | 20 | 2024-01-13 05:00:00 |
| ddd | 25 | - |
+-----+------------+-----+Fungsi terkait
Untuk informasi lebih lanjut, lihat Fungsi Lainnya.