DATEADD() 函数不返回相加值
Posted
技术标签:
【中文标题】DATEADD() 函数不返回相加值【英文标题】:DATEADD() function doesn't return the adding value 【发布时间】:2021-12-15 00:41:17 【问题描述】:我想创建一个可以将输入日期添加 30 天的函数,但我收到一条错误消息:#1064 - 您的 SQL 语法有错误;查看与您的 mysql 服务器版本相对应的手册,了解在 '30, last_date
) 附近使用的正确语法;
结束'
这是我的代码:
DELIMITER //
CREATE FUNCTION expected_date (
last__date DATE
)
RETURNS DATE
BEGIN
RETURN DATE_ADD(DAY, 30, `last_date`);
END; //
DELIMITER ;
我应该如何解决它?
【问题讨论】:
您的输入参数是last__date
,带有两个下划线。你的回报应该是return date_add(day, 30, last__date);
。您的函数可能更适合有 2 个参数 - 一个称为 last__date,另一个称为 days_to_add。这样,您可以使用它来获取 30 天、60 天或您传递给函数的可能天数的预期日期。
【参考方案1】:
CREATE FUNCTION expected_date (
pdate DATE
)
RETURNS DATE
BEGIN
RETURN DATE_ADD(pdate, interval 30 day);
END;
【讨论】:
以上是关于DATEADD() 函数不返回相加值的主要内容,如果未能解决你的问题,请参考以下文章