Quando inserisci la tua query nell'Editor SQL o crei un calcolo, utilizzi la sintassi Presto SQL. Per restituire dei valori in base al soddisfacimento di condizioni specifiche, potresti trovare utili queste espressioni comuni.
CASO
Per valutare un elenco di condizioni e restituire un valore basato sulla prima corrispondenza o condizione vera, usa un'espressione CASE, ad esempio per attivare la logica if/else. CASE ha due formati:
- Nella sua forma semplice,
CASEvaluta l'elenco per un'espressione specifica e ne restituisce il valore, come ad esempio:
CASE espressione WHEN valore THEN risultato [ WHEN ... ] [ ELSE risultato ] END
- Nella sua forma cercata,
CASEvaluta un elenco di booleani e restituisce il valore della prima condizioneTRUEcome:
CASE WHEN condition THEN result [ WHEN ... ] [ ELSE result ] END
Ad esempio, nella sua forma semplice, per restituire un valore ("uno" o "due") basato su un'espressione corrispondente:
SELECT espressione, CASE espressione WHEN 1 THEN 'uno' WHEN 2 THEN 'due' ELSE 'molti' END
Se nessuna condizione è vera, CASE restituisce il valore della clausola ELSE ("molti", in questo esempio), oppure NULL se non esiste una clausola ELSE.
Nota: Per restituire un valore in base al fatto che una singola condizione sia vera, usa un'istruzione IF.
COALESCE
Per restituire il primo valore non nullo di un elenco, usa l'espressione COALESCE come COALESCE(valore1, valore2, valore3).
IF
Per restituire un valore a seconda che una condizione sia vera o falsa, usa l'istruzione IF come IF(condizione, true_value, false_value).
Nota: Se la condizione è falsa e non è specificato false_value, l'istruzione IF restituisce NULL.
IS NULL o IS NOT NULL
Per verificare se un valore è vuoto o NULL, usa l'operatore IS NULL o IS NOT NULL:
- Per verificare la presenza di valori vuoti, usa
IS NULL. - Per verificare la presenza di valori non vuoti, usa
IS NOT NULL.
Ad esempio, per verificare i dati dei clienti senza indirizzo:
SELECT Nome_Cliente, Nome_Contatto, Indirizzo
FROM Customers
WHERE Address IS NULL
TRY
Per restituire NULL quando un'espressione fallisce a causa di dati corrotti o non validi, usa l'espressione TRY come TRY(espressione). TRY gestisce questi errori:
- Divisione per zero
- Non valido
CASTo argomento della funzione - Valore numerico fuori dall'intervallo