SQL创建函数中的语法错误

用户名

每当我尝试在mysql中创建以下函数时,我都会收到以下错误。错误:您的SQL语法有错误;检查与您的MySQL服务器版本相对应的手册以获取在第4行的''附近使用的正确语法

我的功能是

    CREATE FUNCTION GET_HOUR_MINUTES(seconds INT)
    RETURNS VARCHAR(16)
    BEGIN
    DECLARE result VARCHAR(16);
    IF seconds >= 3600 THEN SET result = TIME_FORMAT(SEC_TO_TIME(seconds),'%kh %lm');
    ELSE SET result = TIME_FORMAT(SEC_TO_TIME(seconds),'%lm');
    RETURN result;
    END
用户名

创建函数之前,您需要更改定界符。如果不这样做,则CREATE语句在第一个分号处终止。

试试这个:

DELIMITER $$

CREATE FUNCTION GET_HOUR_MINUTES(seconds INT)
    RETURNS VARCHAR(16)
    BEGIN
    DECLARE result VARCHAR(16);
    IF seconds >= 3600 THEN SET result = TIME_FORMAT(SEC_TO_TIME(seconds),'%kh %lm');
    ELSE SET result = TIME_FORMAT(SEC_TO_TIME(seconds),'%lm');
    END IF
    RETURN result;
    END$$

DELIMITER ;

感谢@Ravinder捕获丢失的END IF。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章