@@ -519,3 +519,79 @@ query I
519519SELECT case when false then 1 / 0 else 1 / 1 end;
520520----
5215211
522+
523+ # Else branch evaluation with case expression, 1 when branch, null input
524+ query I
525+ SELECT CASE a WHEN 'a' THEN 0 ELSE 1 END FROM (VALUES (NULL)) t(a)
526+ ----
527+ 1
528+
529+ # Else branch evaluation with case expression, 2 when branches, null input
530+ query I
531+ SELECT CASE a WHEN 'a' THEN 0 WHEN 'b' THEN 1 ELSE 2 END FROM (VALUES (NULL)) t(a)
532+ ----
533+ 2
534+
535+ # Else branch evaluation without case expression, 1 when branch, null input
536+ query I
537+ SELECT CASE WHEN a = 'a' THEN 0 ELSE 1 END FROM (VALUES (NULL)) t(a)
538+ ----
539+ 1
540+
541+ # Else branch evaluation without case expression, 2 when branches, null input
542+ query I
543+ SELECT CASE WHEN a = 'a' THEN 0 WHEN a = 'b' THEN 1 ELSE 2 END FROM (VALUES (NULL)) t(a)
544+ ----
545+ 2
546+
547+ # Else branch evaluation with case expression, 1 when branch, non-null input
548+ query I
549+ SELECT CASE a WHEN 'a' THEN 0 ELSE 1 END FROM (VALUES ('z')) t(a)
550+ ----
551+ 1
552+
553+ # Else branch evaluation with case expression, 2 when branches, non-null input
554+ query I
555+ SELECT CASE a WHEN 'a' THEN 0 WHEN 'b' THEN 1 ELSE 2 END FROM (VALUES ('z')) t(a)
556+ ----
557+ 2
558+
559+ # Else branch evaluation without case expression, 1 when branch, non-null input
560+ query I
561+ SELECT CASE WHEN a = 'a' THEN 0 ELSE 1 END FROM (VALUES ('z')) t(a)
562+ ----
563+ 1
564+
565+ # Else branch evaluation without case expression, 2 when branches, non-null input
566+ query I
567+ SELECT CASE WHEN a = 'a' THEN 0 WHEN a = 'b' THEN 1 ELSE 2 END FROM (VALUES ('z')) t(a)
568+ ----
569+ 2
570+
571+ # Else branch evaluation with case expression, 1 when branch, mixed input
572+ query I
573+ SELECT CASE a WHEN 'a' THEN 0 ELSE 1 END FROM (VALUES (NULL), ('z')) t(a)
574+ ----
575+ 1
576+ 1
577+
578+ # Else branch evaluation with case expression, 2 when branches, mixed input
579+ query I
580+ SELECT CASE a WHEN 'a' THEN 0 WHEN 'b' THEN 1 ELSE 2 END FROM (VALUES (NULL), ('z')) t(a)
581+ ----
582+ 2
583+ 2
584+
585+ # Else branch evaluation without case expression, 1 when branch, mixed input
586+ query I
587+ SELECT CASE WHEN a = 'a' THEN 0 ELSE 1 END FROM (VALUES (NULL), ('z')) t(a)
588+ ----
589+ 1
590+ 1
591+
592+ # Else branch evaluation without case expression, 2 when branches, mixed input
593+ query I
594+ SELECT CASE WHEN a = 'a' THEN 0 WHEN a = 'b' THEN 1 ELSE 2 END FROM (VALUES (NULL), ('z')) t(a)
595+ ----
596+ 2
597+ 2
0 commit comments