Når du skriver inn spørringen din i SQL Editor eller oppretter en beregning, bruker du Presto SQL-syntaks. Hvis du vil returnere verdier basert på om bestemte betingelser er oppfylt, kan disse vanlige uttrykkene være nyttige.
CASE
Hvis du vil evaluere en liste med betingelser og returnere en verdi basert på det første samsvaret eller den første sanne betingelsen, kan du bruke et CASE -uttrykk, for eksempel for å aktivere if/else-logikk. CASE har to formater:
- I sin enkle form,
CASEevaluerer listen for et spesifikt uttrykk og returnerer verdien, for eksempel:
CASE expression WHEN value THEN result [ WHEN ... ] [ ELSE result ] END
- I sin søkte form,
CASEevaluerer en liste med boolske bokstaver og returnerer verdien av den førsteTRUEbetingelsen, slik som:
CASE WHEN condition THEN result [ WHEN ... ] [ ELSE result ] END
For eksempel i sin enkle form for å returnere en verdi ("én" eller "to") basert på et samsvarende uttrykk:
SELECT expression, CASE expression WHEN 1 THEN 'one' WHEN 2 THEN 'two' ELSE 'many' END
Hvis ingen betingelser er sanne, returnerer CASE verdien av ELSE klausulen ("mange", i dette eksempelet), eller NULL hvis det ikke finnes noen ELSE klausul.
Merk: Hvis du vil returnere en verdi basert på om en enkelt betingelse er sann, bruker du en IF setning.
COALESCE
For å returnere den første verdien i en liste som ikke er null, bruker du uttrykket COALESCE som COALESCE(value1, value2, value3).
IF
Hvis du vil returnere en verdi avhengig av om en betingelse er sann eller falsk, bruker du setningen IF som IF(condition, true_value, false_value).
Merk: Hvis betingelsen er falsk og ingen false_value er spesifisert, returnerer IF NULL.
IS NULL eller IS NOT NULL
For å teste om en verdi er tom eller NULL, bruk operatoren IS NULL eller IS NOT NULL:
- For å teste for tomme verdier bruker du
IS NULL. - For å teste for ikke-tomme verdier bruker du
IS NOT NULL.
For eksempel for å teste kundedata for de som ikke har noen adresse:
SELECT Customer_Name, Contact_Name, Address
FROM Customers
WHERE Address IS NULL
TRY
For å returnere NULL når et uttrykk mislykkes på grunn av korrupte eller ugyldige data, kan du bruke uttrykket TRY som TRY(uttrykk). TRY håndterer disse feilene:
- Divisjon med null
- Ugyldig
CASTeller funksjonsargument - Numerisk verdi utenfor området