NULLIF dan IIF
Termasuk bagian Lebih dari Dasar-Dasar dalam perjalanan SQL di Coddy. Pelajaran 4 dari 27.
Dua fungsi pembantu percabangan lagi, keduanya sederhana dan berguna.
NULLIF(a, b) mengembalikan NULL saat a = b, jika tidak, mengembalikan a. Penggunaan klasiknya adalah mencegah pembagian dengan nol:
SELECT total / NULLIF(count, 0) AS average
FROM statsJika count bernilai nol, kita mendapatkan NULL, bukan error.
IIF(cond, a, b) adalah pintasan dua cabang untuk CASE WHEN cond THEN a ELSE b END. Gunakan ini saat pilihannya biner, dan gunakan CASE saat ada lebih banyak cabang.
Tantangan
MudahTabel dan kolom yang tersedia:
matches:id,shots,goals
Untuk setiap pertandingan, kembalikan:
idconversion:goals * 1.0 / shots, tetapiNULLjikashotsbernilai0(gunakanNULLIF)verdict:'win'jikagoals > 0, jika tidak,'no goals'(gunakanIIF)
Urutkan berdasarkan id.
Coba sendiri
SELECT id,
-- konversi menggunakan NULLIF
-- hasil menggunakan IIF
FROM matches
ORDER BY id
Pelajaran ini berisi kuis singkat. Mulai pelajarannya untuk menjawab kuis dan melacak progresmu.
Semua pelajaran di Lebih dari Dasar-Dasar
Latihan sendiri: Playground SQL