CodeGym /Corsi /All lectures for IT purposes /Funzioni condizionali

Funzioni condizionali

All lectures for IT purposes
Livello 1, Lezione 157
Disponibile

1.1 Elenco delle funzioni condizionali

Il linguaggio SQL ha un elenco di funzioni che sono in qualche modo simili all'operatore if-elsein switchJava.

Ci sono 4 di queste funzioni in totale:

Funzioni Descrizione
1 CASO interruttore analogico
2 SE() Un analogo dell'operatore ternario o if-else
3 SENULL() analogo di if-else
4 NULLIF() analogo di if-else

Gli ultimi tre in SQL sono rappresentati come funzioni ed CASEè un operatore a tutti gli effetti, quindi lo considereremo separatamente alla fine.

1.2 Funzione SE()

Una funzione IF()in SQL è in qualche modo simile a un operatore ternario in Java. Nel linguaggio SQL, prende 3 parametri e assomiglia a questo:

IF (condition, true, false)

Tre espressioni devono essere passate alla funzione IF:

  • una condizione che è testata per la verità;
  • un'espressione che viene restituita quando la condizione è vera;
  • un'espressione che viene restituita quando la condizione è falsa.

Di seguito fornirò alcuni esempi per rendere più facile la comprensione del funzionamento:

Richiesta Risultato
1 SELEZIONA SE( 1>2 , 2, 3) 3
2 SELEZIONA SE( 1<2 , 'sì', 'no') 'SÌ'
3 SELEZIONA SE( STRCMP('test','test1' ), 'no', 'sì') 'NO'

1.3 Funzione IFNULL() e NULLIF()

Ci sono anche due modifiche della funzione IF().

La prima modifica è la funzione IFNULL(). Prende solo due valori:

IFNULL (expression 1, expression 2)

Se expression1 non è uguale a NULL, la funzione restituirà expression1 . Se expression1 IS NULL, la funzione restituirà expression2 . L'essenza è la sostituzione del valore predefinito quando il campo è uguale a NULL.

La seconda modifica della funzione IFè la funzione NULLIF(), anch'essa assume due valori:

NULLIF (expression 1, expression 2)

Funziona nella direzione opposta:

  • se expression1 è uguale a expression2 , la funzione restituisce NULL;
  • se le espressioni non sono uguali, viene restituito expression1 .
Commenti
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION