MySQL用户定义函数,内部嵌套查询

时间:2019-02-26 03:34:35

标签: mysql user-defined-functions

我想创建一个mysql函数以根据我的本地假期日历获取截止日期(从开始日期起90个工作日)。我的PHP函数中的查询就是这样。

select max(col_date) as due_date from (select col_date from ref_calendar where holiday=0 and col_date>'".$start_date."' limit 90) as a

我希望将其作为mysql函数,因此我只需查询“ duedate(start_date)”即可获得截止日期。

我已经尝试过,但仍然失败。

CREATE FUNCTION duedate(st_date DATE)
DECLARE datedue DATE
BEGIN
SELECT MAX(col_date) INTO datedue from (select col_date from ref_calendar where holiday=0 and col_date>st_date limit 90);
RETURN datedue;
END

1 个答案:

答案 0 :(得分:0)

问题已解决。这是我阅读MariaDB知识库后的最终代码。

CREATE OR REPLACE FUNCTION duedate (st_date DATE) 
RETURNS DATE 
RETURN (select max(a.col_date) FROM (select col_date from ref_calendar where holiday=0 and col_date>st_date limit 90) as a);

谢谢! :)