📖 Теория
⚡ Кратко: 📖 теория
Практикум 11 закрепляет пользовательские функции MySQL на трёх расчётных задачах.
Нужно создать cm_to_inches, sphere_volume и degrees_to_radians.
Все три функции принимают числовой аргумент, возвращают DECIMAL и используют DETERMINISTIC.
Минимальный пример: SELECT cm_to_inches(10); должен вернуть значение в дюймах по формуле cm * 0.393701.
Топ-3 ошибки: потерять точность из-за INT, забыть POW(radius, 3), написать DELIMITER; без пробела и разделителя.
Как решать задачи практикума
Каждая задача практикума переводится в один и тот же шаблон: определить имя функции, выбрать тип параметра, выбрать тип результата, записать формулу в RETURN, затем проверить вызовом SELECT.
DELIMITER $$
CREATE FUNCTION function_name(value DECIMAL(10,2))
RETURNS DECIMAL(10,2)
DETERMINISTIC
BEGIN
RETURN value;
END$$
DELIMITER ;
DECIMAL в этих задачах уместнее INT, потому что сантиметры, радиус и градусы могут быть дробными, а результат точно не всегда целый.
Формулы из источника
- Сантиметры в дюймы:
inches = cm * 0.393701. - Объём шара:
V = 4 / 3 * PI() * r^3. - Градусы в радианы:
radians = degrees * PI() / 180.