Espressione Switch Case in SQL

Qual è la sintassi completa e corretta per una espressione condizionale del tipo "switch case" da fare con una query SQL? Io uso Sql Server ma l'implementazione credo sia analoga anche per altri RDBMS.

Risolta 1
Sql Server 12-09-2019 2 Risposte 2150 Visite +1
Pasquale Surdu

Pasquale Surdu

Autore di questa domanda

Risposte ( 2 approvate )

  1. Claudio Zarpone
    +1
    12-09-2019 12:13:38
    Rispondi

    La sintassi corretta di un CASE in SQL dipende dal motore di database che stai utilizzando, per Sql Server è:

    CASE case-expression
        WHEN when-expression-1 THEN value-1
      [ WHEN when-expression-n THEN value-n ... ]
      [ ELSE else-value ]
    END

    oppure puoi scriverla anche in questo modo:

    CASE
        WHEN boolean-when-expression-1 THEN value-1
      [ WHEN boolean-when-expression-n THEN value-n ... ]
      [ ELSE else-value ]
    END

    dove la condizione da verificare (WHEN) è in ogni statement del case.

  2. Filippo De Buglia
    0
    12-09-2019 12:16:15
    Rispondi

    La sintassi del 'Case statement' in SQL SERVER è:

    CASE column
       WHEN value1 THEN 1
       WHEN value3 THEN 2
       WHEN value3 THEN 3
       WHEN value1 THEN 4
       ELSE ''
    END

    ma può essere usata anche nel seguente modo:

    CASE 
       WHEN column=value1 THEN 1
       WHEN column=value3 THEN 2
       WHEN column=value3 THEN 3
       WHEN column=value1 THEN 4
       ELSE ''
    END

Rispondi

Per poter rispondere a questa domanda, devi essere registrato e loggato sul sito, dopodichè compila il box sottostante cercando di essere il più chiaro ed esauriente possibile, la tua risposta potrebbe essere la soluzione che l'utente cerca ed essere contrassegnata come migliore, consentendoti così di ottenere punti ed autorevolezza.

 Domanda Precedente

 Elenco Domande 

Domanda Successiva