试图在 MySQL 中创建一个函数,但它不会通过。
DELIMITER $$
USE `companydb`$$
DROP FUNCTION IF EXISTS `sf_utils_get_hm`$$
CREATE FUNCTION `sf_utils_get_hm`(sec INT) RETURNS VARCHAR(20) CHARSET latin1
BEGIN
DECLARE result VARCHAR(20);
IF sec >= 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$$
DELIMITER ;
它返回此错误:
Query: CREATE FUNCTION `sf_utils_get_hm`(sec INT) RETURNS VARCHAR(20) CHARSET latin1 BEGIN DECLARE result VAR...
Error Code: 1064
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '' at line 7
对于我的生活,我看不出有什么问题。第 7 行指向END$$
...应该是正确的。我很确定我的语法是正确的。它与MySQL版本有关吗?我正在使用 5.0.67。