Kiedy wprowadzasz zapytanie w Edytorze SQL lub tworzysz kalkulację, używasz składni Presto SQL. Aby zwracać wartości w oparciu o to, czy spełnione są określone warunki, możesz skorzystać z poniższych wyrażeń.
CASE
Aby ocenić listę warunków i zwrócić wartość na podstawie pierwszego dopasowania lub prawdziwego warunku, użyj wyrażenia CASE, takiego jak włączenie logiki if/else. CASE ma dwa formaty:
- W swojej prostej formie,
CASEocenia listę dla określonego wyrażenia i zwraca jego wartość, na przykład:
CASE expression WHEN value THEN result [ WHEN ... ] [ ELSE result ] END
- W swojej przeszukiwanej formie,
CASEocenia listę wartości logicznych i zwraca wartość pierwszegoTRUEwarunku, na przykład:
CASE WHEN condition THEN result [ WHEN ... ] [ ELSE result ] END
Na przykład, w swojej prostej formie, aby zwrócić wartość ("jeden" lub "dwa") na podstawie pasującego wyrażenia:
SELECT expression, CASE expression WHEN 1 THEN 'jeden' WHEN 2 THEN 'dwa' ELSE 'wiele' END
Jeśli żaden z warunków nie jest prawdziwy, CASE zwraca wartość klauzuli ELSE ("many", w tym przykładzie) lub NULL, jeśli nie ma klauzuli ELSE.
Uwaga: Aby zwrócić wartość w oparciu o to, czy pojedynczy warunek jest prawdziwy, użyj instrukcji IF.
COALESCE
Aby zwrócić pierwszą niepustą wartość na liście, użyj wyrażenia COALESCE jako COALESCE(value1, value2, value3).
IF
Aby zwrócić wartość w zależności od tego, czy warunek jest prawdziwy czy fałszywy, użyj instrukcji IF jako IF(warunek, true_value, false_value).
Uwaga: Jeśli warunek jest fałszywy i nie określono false_value, instrukcja IF zwraca NULL.
IS NULL lub IS NOT NULL
Aby sprawdzić, czy wartość jest pusta lub NULL, użyj operatora IS NULL lub IS NOT NULL:
- Aby sprawdzić puste wartości, użyj
IS NULL. - Aby przetestować niepuste wartości, użyj
IS NOT NULL.
Na przykład, aby przetestować dane klientów dla tych, którzy nie mają adresów:
SELECT Customer_Name, Contact_Name, Address
FROM Customers
WHERE Address IS NULL
SPRÓBUJ
Aby zwrócić wartość NULL, gdy wyrażenie nie powiedzie się z powodu uszkodzonych lub nieprawidłowych danych, użyj wyrażenia TRY jako TRY(wyrażenie). TRY obsługuje te błędy:
- Dzielenie przez zero
- Nieprawidłowy
CASTlub argument funkcji - Wartość numeryczna poza zakresem