2016-06-23 25 views
0

Ich möchte um Hilfe bitten, eine Konvertierung zu überprüfen. Ich habe gerade ein Stück VB6-Code genommen und es in SQL-Syntax umgewandelt.IIF in CASE konvertieren - Hilfebericht konvertieren

VB6

IIF([Type] = 1, 26, IIF([Type] = 2, 27, 28)) 

SQL

CASE 
     WHEN [Type] = 1 THEN 26 
     ELSE 
      CASE 
       WHEN [Type] = 2 THEN 27 
       ELSE 28 
      END 
    END 
+2

es funktioniert perfekt in SQL – mohan111

+1

keine Notwendigkeit für die „inneren“ 'case':' CASE WHEN [ Typ] = 1 THEN 26 WENN [Typ] = 2 THEN 27 ELSE 28 END' – Lamak

+1

ja ich stimme @Lamak zu – mohan111

Antwort

1

Die Umwandlung ist in Ordnung, aber es schöneres gemacht werden. Im Gegensatz zu IIF unterstützt case mehrere Fälle, sodass Sie sich die Verschachtelung sparen können. Da darüber hinaus alle Vergleiche auf den [Type] Spalt sind, ist dies eine große Chance, die Kurz Syntax:

CASE [Type] 
    WHEN 1 THEN 26 
    WHEN 2 THEN 27 
    ELSE 28 
END