全部产品
Search
文档中心

MaxCompute:NVL

更新时间:Jul 02, 2025

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. T menentukan 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.