MySQL: Функции CASE, COALESCE, IF, IFNULL
Функция CASE проверяет условия и возвращает значение при выполнении первого условия.
SELECT `order_id`, `quantity`, CASE WHEN `quantity` > 100 THEN "В заказе больше 100 единиц" WHEN `quantity` = 100 THEN "В заказе всего 100 единиц" ELSE "В заказе менее 100 едниций" END as `quantity_label` FROM `orders`;
Функция COALESCE возвращает первое ненулевое (NOT NULL) значение из списка.
SELECT COALESCE( `first_name`, `last_name`, "не указано" ) as `name` FROM `customers`;
Функция IF возвращает первое значение, если условие имеет значение true, или другое значение, если условие имеет значение false.
SELECT `order_id`, `quantity`, IF( `quantity` > 100, "Большой заказ", "Маленький заказ" ) as `type` FROM `orders`;
Функция IFNULL возвращает указанное значение, если выражение равно NULL.
SELECT IFNULL( `first_name`, "не указано" ) as `first_name`, IFNULL( `last_name`, "не указано" ) as `first_name` FROM `customers`;
Комментарии