Czy instrukcja SQL Server (w szczególności 2008 lub 2012) CASEocenia wszystkie WHENwarunki, czy też wychodzi, gdy znajdzie WHENklauzulę, która ma wartość true? Jeśli przejdzie przez cały zestaw warunków, czy to oznacza, że ostatni warunek oceniający na prawda zastępuje to, co zrobił pierwszy warunek, który oceniono na prawda? Na przykład:
SELECT
CASE
WHEN 1+1 = 2 THEN'YES'
WHEN 1+1 = 3 THEN 'NO'
WHEN 1+1 = 2 THEN 'NO'
END
Wynikiem jest „TAK”, chociaż ostatni warunek, w którym warunek powinien dać wynik „NIE”. Wygląda na to, że kończy działanie, gdy znajdzie pierwszy PRAWDZIWY warunek. Może ktoś proszę potwierdzić, czy jest to przypadek .
COALESCE()to tłumaczy się naCASEwyrażenie).