我收到以下错误:
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 服务器版本相对应的手册,以获取在 ') RETURNS 时间戳确定性 BEGIN DECLARE dt_act 时间戳附近使用的正确语法;sele' 在第 1 行