När du skriver in din fråga i SQL Editor eller skapar en beräkning, använder du Presto SQL-syntax. För att returnera värden baserat på om specifika villkor är uppfyllda kan du ha nytta av dessa vanliga uttryck.
CASE
Om du vill utvärdera en lista med villkor och returnera ett värde baserat på den första matchningen eller ett sant villkor använder du ett CASE uttryck, t.ex. för att aktivera if/else-logik. CASE har två format:
- I sin enkla form,
CASEutvärderar listan för ett specifikt uttryck och returnerar dess värde, till exempel:
CASE expression WHEN value THEN result [ WHEN ... ] [ ELSE result ] END
- I sin sökte form,
CASEutvärderar en lista med booleaner och returnerar värdet på det förstaTRUEvillkoret, till exempel:
CASE WHEN villkor THEN resultat [ WHEN ... ] [ ELSE resultat ] END
Till exempel i sin enkla form för att returnera ett värde ("ett" eller "två") baserat på ett matchande uttryck:
SELECT uttryck, CASE uttryck WHEN 1 THEN "en" WHEN 2 THEN "två" ELSE "många" END
Om inga villkor är sanna returnerar CASE värdet i ELSE klausulen ("många", i det här exemplet), eller NULL om det inte finns någon ELSE klausul.
Observera: Om du vill returnera ett värde baserat på om ett enda villkor är sant använder du en IF -sats.
COALESCE
Om du vill returnera det första icke-nullvärdet i en lista använder du uttrycket COALESCE som COALESCE(value1, value2, value3).
IF
För att returnera ett värde beroende på om ett villkor är sant eller falskt, använd IF -satsen som IF(condition, true_value, false_value).
Obs: Om villkoret är falskt och inget false_value har angetts, returnerar IF NULL.
IS NULL eller IS NOT NULL
För att testa om ett värde är tomt eller NULL, använd operatorn IS NULL eller IS NOT NULL:
- För att testa för tomma värden, använd
IS NULL. - För att testa om värdena inte är tomma använder du
IS NOT NULL.
Till exempel för att testa kunddata för dem som inte har någon adress:
SELECT Customer_Name, Contact_Name, Address
FROM Customers
WHERE Address IS NULL
FÖRSÖK
För att returnera NULL när ett uttryck går inte på grund av korrupta eller ogiltiga data, använd uttrycket TRY som TRY(uttryck). TRY hanterar dessa fel:
- Division med noll
- Ogiltigt
CASTeller funktionsargument - Numeriskt värde utanför intervallet