Conditional

NULLIF

DuckDBDuckDB

Mengembalikan NULL jika value1 sama dengan value2, otherwise mengembalikan value1. Berguna untuk menghindari division by zero.

Tipe hasil: Tipe dari value1 atau NULLDiperbarui: 6 Jan 2026

Syntax

SQL
NULLIF(value1, value2)

Parameter

value1ANYwajib

Nilai yang akan dikembalikan jika berbeda

value2ANYwajib

Nilai pembanding

Contoh Penggunaan

Hindari Division by Zero

SQL
1SELECT
2 product_name,
3 revenue / NULLIF(quantity, 0) AS avg_price
4FROM sales;

NULLIF(quantity, 0) return NULL jika quantity = 0.

Convert Empty String ke NULL

SQL
1SELECT
2 customer_name,
3 NULLIF(phone, '') AS phone
4FROM customers;

Mengkonversi empty string menjadi NULL.

Handling Placeholder Values

SQL
1SELECT
2 employee_name,
3 NULLIF(department, 'N/A') AS department,
4 NULLIF(manager_id, -1) AS manager_id
5FROM employees;

Mengkonversi placeholder values ke NULL.

Dalam Perhitungan Persentase

SQL
1SELECT
2 category,
3 SUM(sales) AS total_sales,
4 SUM(returns) AS total_returns,
5 ROUND(
6 SUM(returns) * 100.0 / NULLIF(SUM(sales), 0),
7 2
8 ) AS return_rate
9FROM transactions
10GROUP BY category;

Safe percentage calculation.

Fungsi Terkait