Apakah pernyataan SQL Server (2008 atau 2012, khusus) CASE
mengevaluasi semua WHEN
kondisi atau apakah itu keluar setelah menemukan WHEN
klausa yang mengevaluasi ke true? Jika ia melewati seluruh rangkaian kondisi, apakah itu berarti bahwa kondisi terakhir yang mengevaluasi true menimpa apa yang dilakukan kondisi pertama yang dievaluasi ke true? Sebagai contoh:
SELECT
CASE
WHEN 1+1 = 2 THEN'YES'
WHEN 1+1 = 3 THEN 'NO'
WHEN 1+1 = 2 THEN 'NO'
END
Hasilnya adalah "YA" meskipun kondisi terakhir ketika harus membuatnya mengevaluasi menjadi "TIDAK". Tampaknya keluar setelah menemukan kondisi BENAR pertama. Dapatkah seseorang tolong konfirmasi jika ini masalahnya .
COALESCE()
yang diterjemahkan ke dalamCASE
ekspresi.)