T-SQL: Logical Condition

Vi siete mai chiesti come effettuare dei confronti logici in T-SQL all’interno di una Stored Procedure che state scrivendo?
T-SQL: Logical Condition
In questo articolo vi mostrerò come utilizzare per semplificare al meglio la vostra vita.
- IF
- CASE
Prima di entrare nel vivo dell’articolo vi fornisco una dritta su quando utilizzare uno oppure l’altro.
- IF: Lo consiglio quando il confronto è secco e vi serve un booleano di confronto
- CASE: Lo consiglio quando il confronto avviene con una serie di valori possibili e cambiare il comportamento del codice in base a dei valori.
Stored Procedure
|
|
IF
Il template iniziale crea una Stored Procedure che riceve in ingresso un parametro di tipo nvarchar dal nome City. Ora vediamo come testare il valore ricevuto in ingresso .
|
|
Capite che utilizzare IF quando hai molte possibilità rappresenta un vero suicidio. Forse e’ meglio passare a giocare coi grandi?
CASE
Partiamo dal precedente esempio e modifichiamolo per sostituire IF con CASE
|
|
Come vedrete utilizzare CASE è molto più potente come possibilità’ offerte.
Importante: Se non mettere il ramo ELSE e nessuna WHEN viene soddisfatta verra’ tornato un valore NULL
TIPS: Vi ho detto del NULL perché nel caso di conversioni dati questo potrebbe essere un problema che vi porterà alla perdita di valori. Non dite “tanto a me non capita …” parlo per esperienza (non mia, ma l’ho visto succedere ed il recupero dei dati da un backup precedente è stato un vero suicidio)