DELIMITER //
CREATE FUNCTION 'nvl'('expr1' text,'expr2' text) RETURNS text CHARSET utf8
BEGIN
RETURN case when expr1 = '' or expr1 is NULL then expr2 ELSE expr1 end case
END ;
//
DELIMITER ;
все же, доклады:
ERROR 1064 (42000): у вас есть ошибка в синтаксисе SQL; проверьте руководство, соответствующее версии вашего сервера MySQL, для правильного синтаксиса для использования рядом с "case END" в строке 3 '
Зачем? Я не могу понять...
Когда вы говорите end case
, вы используете синтаксис для оператора case
. То, что вам нужно, - это выражение case
, которое заканчивается только end
.
Удалите лишний "случай" в конце.
DELIMITER //
CREATE FUNCTION 'nvl'('expr1' text,'expr2' text) RETURNS text CHARSET utf8
BEGIN
RETURN case when expr1 = '' or expr1 is NULL then expr2 ELSE expr1 end;
END ;
//
DELIMITER ;
end case
здесь.