Conditional

NULLIF

PostgreSQLPostgreSQL

Mengembalikan NULL jika value1 sama dengan value2, otherwise mengembalikan value1. Berguna untuk menghindari division by zero atau mengkonversi sentinel values ke NULL.

Tipe hasil: same as value1

Syntax

SQL
NULLIF(value1, value2)

Parameter

value1anywajib

Nilai yang akan dikembalikan jika tidak sama dengan value2

value2anywajib

Nilai pembanding

Contoh Penggunaan

Avoid Division by Zero

SQL
1SELECT
2 total_revenue,
3 total_orders,
4 total_revenue / NULLIF(total_orders, 0) AS avg_order_value
5FROM sales_summary;

Menghindari error division by zero dengan mengkonversi 0 ke NULL.

Hasil
total_revenuetotal_ordersavg_order_value
1000001010000
00(null)

Konversi Sentinel ke NULL

SQL
1SELECT
2 name,
3 NULLIF(phone, N/A) AS phone,
4 NULLIF(email, ) AS email
5FROM contacts;

Mengkonversi placeholder values menjadi NULL.

Hasil
namephoneemail
John08123456789john@...
Jane(null)(null)

Percentage Calculation Safe

SQL
1SELECT
2 category,
3 100.0 * current_sales / NULLIF(previous_sales, 0) AS growth_pct
4FROM category_sales;

Menghitung persentase dengan aman dari division by zero.

Fungsi Terkait