gpt4 book ai didi

mysql - 如何修复 "MySQL 1064 error Syntax Workbench"

转载 作者:行者123 更新时间:2023-11-30 21:28:05 24 4
gpt4 key购买 nike

我是 mysql 的新手,我的代码有这个问题

CREATE FUNCTION fnejEdad_Obtener
(

p_fechaNacimiento date,

p_fechaHoy date
)

RETURNS int

BEGIN

declare v_edad int;

set v_edad = TIMESTAMPDIFF (year,p_fechaNacimiento, p_fechaHoy);

if (DATEPART(month, p_fechaNacimiento) > DATEPART(month,p_fechaHoy))
then

set v_edad = v_edad - 1;

else if
(DATEPART
(month, p_fechaNacimiento) <= DATEPART
(month,p_fechaHoy)) and
(DATEPART
(DAY, p_fechaNacimiento) > DATEPART
(DAY,p_fechaHoy))
then
set v_edad = v_edad - 1;

end
if;

IF v_edad < 0 THEN
SET v_edad = 0;
END
IF; -- > update

RETURN v_edad;

END;

最佳答案

您的函数必须如下所示。elseif要一起写。

DELIMITER //
CREATE FUNCTION fnejEdad_Obtener
(p_fechaNacimiento date,p_fechaHoy date)

RETURNS int

BEGIN

declare v_edad int;

set v_edad = TIMESTAMPDIFF(year,p_fechaNacimiento, p_fechaHoy);

if (DATEPART(month, p_fechaNacimiento) > DATEPART(month,p_fechaHoy)) then
set v_edad = v_edad - 1;
elseif
(DATEPART(month, p_fechaNacimiento) <= DATEPART(month,p_fechaHoy)) and
(DATEPART(DAY, p_fechaNacimiento) > DATEPART(DAY,p_fechaHoy)) then
set v_edad = v_edad - 1;

end if;

IF v_edad < 0 THEN
SET v_edad = 0;
END IF; -- > update

RETURN v_edad;

END

//

DELIMITER ;

关于mysql - 如何修复 "MySQL 1064 error Syntax Workbench",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57827456/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com