Mengembalikan value_if_not_null jika expression tidak NULL, jika NULL mengembalikan value_if_null. Lebih fleksibel dari NVL.
Sama dengan tipe value parametersDiperbarui: 13 Jun 2026NVL2(expression, value_if_not_null, value_if_null)Nilai yang akan dicek NULL-nya
Nilai yang dikembalikan jika expression TIDAK NULL
Nilai yang dikembalikan jika expression NULL
1 SELECT 2 customer_name, 3 email, 4 NVL2(email, 'Has Email', 'No Email') as email_status 5 FROM customers;
Menentukan status berdasarkan ada tidaknya email.
| customer_name | email_status | |
|---|---|---|
| Budi | budi@email.com | Has Email |
| Ani | NULL | No Email |
| Eko | eko@email.com | Has Email |
1 SELECT 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 6 FROM sales_team;
Manager (NULL manager_id) dapat rate berbeda.
| salesperson | manager_id | commission_type | commission_rate |
|---|---|---|---|
| Budi | 1 | Standard Rate | 0.05 |
| Ani | 1 | Standard Rate | 0.05 |
| Eko | NULL | Manager Rate | 0.10 |
1 SELECT 2 product_name, 3 discount_percent, 4 NVL2(discount_percent, 5 CONCAT(discount_percent::VARCHAR, '% OFF'), 6 'Regular Price' 7 ) as display_text 8 FROM products;
Menampilkan teks berbeda berdasarkan ada tidaknya discount.
| product_name | discount_percent | display_text |
|---|---|---|
| Laptop | 10 | 10% OFF |
| Phone | NULL | Regular Price |
| Tablet | 5 | 5% OFF |
Sudah paham NVL2? Latih langsung di browser
Latihan interaktif, langsung di browser.