Conditional
DuckDB
NVL
Mengembalikan nilai pertama jika tidak NULL, jika NULL mengembalikan nilai kedua. Alias Oracle-style dari IFNULL/COALESCE.
Tipe hasil:
Sama dengan tipe inputDiperbarui: 16 Mei 2026Syntax
SQL
NVL(expression, replacement)Parameter
expressionanywajib
Nilai yang akan dicek NULL-nya
replacementanywajib
Nilai pengganti jika expression NULL
Contoh Penggunaan
Replace NULL dengan Default
SQL
1 SELECT 2 customer_name, 3 NVL(phone, 'No Phone') as phone, 4 NVL(email, 'No Email') as email 5 FROM customers;
Mengganti NULL dengan teks default.
Hasil
| customer_name | phone | |
|---|---|---|
| Budi | 08123456789 | budi@email.com |
| Ani | No Phone | ani@email.com |
| Eko | 08234567890 | No Email |
Default Value untuk Perhitungan
SQL
1 SELECT 2 product_name, 3 price, 4 discount_percent, 5 price * (1 - NVL(discount_percent, 0) / 100) as final_price 6 FROM products;
Menggunakan 0 sebagai default jika discount NULL.
Hasil
| product_name | price | discount_percent | final_price |
|---|---|---|---|
| Laptop | 1500000 | 10 | 1350000 |
| Phone | 800000 | NULL | 800000 |
| Tablet | 500000 | 5 | 475000 |
Handling NULL in Aggregations
SQL
1 SELECT 2 department, 3 SUM(NVL(bonus, 0)) as total_bonus, 4 AVG(NVL(bonus, 0)) as avg_bonus 5 FROM employees 6 GROUP BY department;
Memperlakukan NULL bonus sebagai 0 dalam agregasi.
Hasil
| department | total_bonus | avg_bonus |
|---|---|---|
| IT | 15000000 | 3000000 |
| Sales | 25000000 | 5000000 |
| HR | 5000000 | 2500000 |
Pertanyaan Umum tentang NVL
Apa itu fungsi NVL di DuckDB?
Mengembalikan nilai pertama jika tidak NULL, jika NULL mengembalikan nilai kedua. Alias Oracle-style dari IFNULL/COALESCE. Di DuckDB, fungsi NVL termasuk dalam kelompok fungsi yang sering digunakan untuk mengolah dan menganalisis data secara efisien.
Bagaimana cara menggunakan NVL di DuckDB?
Gunakan sintaks berikut: NVL(expression, replacement). Pastikan argumen yang dimasukkan sudah sesuai dengan tipe data yang diharapkan.
Apa nilai yang dikembalikan oleh fungsi NVL?
Fungsi NVL mengembalikan nilai bertipe Sama dengan tipe input. Pastikan tipe data hasil sudah sesuai dengan kebutuhan query atau formula kamu. Jika input mengandung nilai NULL, perilaku fungsi dapat berbeda — selalu periksa dokumentasi untuk memastikan hasilnya sesuai ekspektasi.
Apa saja parameter fungsi NVL?
Fungsi ini memiliki 2 parameter wajib. Parameter yang digunakan: expression (any, wajib): Nilai yang akan dicek NULL-nya; replacement (any, wajib): Nilai pengganti jika expression NULL.