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`;

MySQL up: просмотров: 109