Ошибка синтаксиса SQL: MySQL сервер RETURNS метка времени детерминистическая BEGIN - PullRequest
0 голосов
/ 30 августа 2018

Я получаю следующую ошибку:

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

...