Я получаю следующую ошибку:
1064 - синтаксис SQL; MySQL сервер RETURNS метка времени детерминистическая BEGIN DECLARE
метка времени dt_act; sele 'в строке 1
Это мой код:
DROP FUNCTION IF EXISTS NewProc;
DELIMITER //
CREATE FUNCTION NewProc(f_test varchar)
RETURNS timestamp deterministic
BEGIN
DECLARE dt_act timestamp;
select cast((case
when str_to_date(activation_date,'%d-%M-%Y') is not null then date_format(str_to_date(activation_date,'%d-%M-%Y'),'%Y-%m-%d')
when str_to_date(activation_date,'%d-%m-%Y') is not null then date_format(str_to_date(activation_date,'%d-%m-%Y'),'%Y-%m-%d')
ELSE
date_format(str_to_date(activation_date,'%Y-%M-%d'),'%Y-%m-%d')
end) as timestamp ) into dt_act from abc where phone_no =f_test;
RETURN dt_act;
END //
DELIMITER ;
ОШИБКА:
1064 - у вас ошибка в синтаксисе SQL; проверьте руководство, которое
соответствует вашей версии сервера MySQL для правильного использования синтаксиса
near ') ВОЗВРАЩАЕТСЯ детерминированная временная метка BEGIN DECLARE dt_act timestamp; sele 'в строке 1