每当我尝试在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
答案 0 :(得分:1)
您需要在创建函数之前更改分隔符。如果不这样,您的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。