Conditional

NVL2

DuckDBDuckDB

Mengembalikan value_if_not_null jika expression tidak NULL, jika NULL mengembalikan value_if_null. Lebih fleksibel dari NVL.

Tipe hasil: Sama dengan tipe value parametersDiperbarui: 16 Mei 2026

Syntax

SQL
NVL2(expression, value_if_not_null, value_if_null)

Parameter

expressionanywajib

Nilai yang akan dicek NULL-nya

value_if_not_nullanywajib

Nilai yang dikembalikan jika expression TIDAK NULL

value_if_nullanywajib

Nilai yang dikembalikan jika expression NULL

Contoh Penggunaan

Status Berdasarkan NULL

SQL
1SELECT
2 customer_name,
3 email,
4 NVL2(email, 'Has Email', 'No Email') as email_status
5FROM customers;

Menentukan status berdasarkan ada tidaknya email.

Hasil
customer_nameemailemail_status
Budibudi@email.comHas Email
AniNULLNo Email
Ekoeko@email.comHas Email

Conditional Commission

SQL
1SELECT
2 salesperson,
3 manager_id,
4 NVL2(manager_id, 'Standard Rate', 'Manager Rate') as commission_type,
5 NVL2(manager_id, 0.05, 0.10) as commission_rate
6FROM sales_team;

Manager (NULL manager_id) dapat rate berbeda.

Hasil
salespersonmanager_idcommission_typecommission_rate
Budi1Standard Rate0.05
Ani1Standard Rate0.05
EkoNULLManager Rate0.10

Display Value vs Calculation Value

SQL
1SELECT
2 product_name,
3 discount_percent,
4 NVL2(discount_percent,
5 CONCAT(discount_percent::VARCHAR, '% OFF'),
6 'Regular Price'
7 ) as display_text
8FROM products;

Menampilkan teks berbeda berdasarkan ada tidaknya discount.

Hasil
product_namediscount_percentdisplay_text
Laptop1010% OFF
PhoneNULLRegular Price
Tablet55% OFF

Pertanyaan Umum tentang NVL2

Apa itu fungsi NVL2 di DuckDB?
Mengembalikan value_if_not_null jika expression tidak NULL, jika NULL mengembalikan value_if_null. Lebih fleksibel dari NVL. Di DuckDB, fungsi NVL2 termasuk dalam kelompok fungsi yang sering digunakan untuk mengolah dan menganalisis data secara efisien.
Bagaimana cara menggunakan NVL2 di DuckDB?
Gunakan sintaks berikut: NVL2(expression, value_if_not_null, value_if_null). Pastikan argumen yang dimasukkan sudah sesuai dengan tipe data yang diharapkan.
Apa nilai yang dikembalikan oleh fungsi NVL2?
Fungsi NVL2 mengembalikan nilai bertipe Sama dengan tipe value parameters. 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 NVL2?
Fungsi ini memiliki 3 parameter wajib. Parameter yang digunakan: expression (any, wajib): Nilai yang akan dicek NULL-nya; value_if_not_null (any, wajib): Nilai yang dikembalikan jika expression TIDAK NULL; value_if_null (any, wajib): Nilai yang dikembalikan jika expression NULL.