Что такое case function?

В SQL, оператор CASE представляет собой условное выражение, которое используется для выполнения различных действий в зависимости от условия. Он может использоваться в различных частях запроса, таких как SELECT, WHERE, и ORDER BY.

Синтаксис оператора CASE:

CASE
    WHEN condition1 THEN result1
    WHEN condition2 THEN result2
    ...
    ELSE default_result
END
  • condition1, condition2, и так далее - логические условия.

  • result1, result2, и так далее - значения, возвращаемые в случае выполнения соответствующего условия.

  • default_result - значение, возвращаемое, если ни одно из условий не выполняется. Может быть опущено, если необходимо.

Пример использования оператора CASE в операторе SELECT:

SELECT
    EmployeeID,
    FirstName,
    LastName,
    CASE
        WHEN Salary > 50000 THEN 'High'
        WHEN Salary > 30000 THEN 'Medium'
        ELSE 'Low'
    END AS SalaryCategory
FROM Employees;

В этом примере, в зависимости от значения столбца Salary, возвращается разная категория зарплаты.

Также, оператор CASE может использоваться в условии WHERE, например:

SELECT *
FROM Orders
WHERE
    CASE
        WHEN Status = 'Shipped' THEN 1
        WHEN Status = 'Processing' THEN 0
        ELSE -1
    END = 1;

Этот запрос выбирает заказы со статусом 'Shipped'. Возвращаемое значение CASE сравнивается с 1 в условии WHERE.

Last updated