привет всем подскажите, что я делаю не так
создаю хранимую функцию суть которой проста
CREATE DEFINER=root`@`localhost
FUNCTION levels
(my_arg FLOAT) RETURNS float
BEGIN
set @a:=if(my_arg > 19, my_arg,19);
set @a:=if(my_arg > 20, my_arg,20);
set @a:=if(my_arg > 21, my_arg,21);
RETURN (@a);
END
затем делаю запрос
SELECT 18b20_1_t,levels(18b20_1_t) FROM balkon_l.sens;
и получаю ерунду ка будто условия вообще не срабатывают и всегда ложь
Ну вообще-то у тебя присваивание то всегда происходит, безусловно.
С программированием у тебя как вообще? Норм?
Напомню,IF тут -- не оператор, а функция. Она не ветвиться по коду.
Возми да напиши лучше ровно одно CASE-выражение, и всё, причем можно даже без хранимой функции.