Пользовательская функция MySQL с вложенным запросом внутри - PullRequest
0 голосов
/ 26 февраля 2019

Я хочу создать функцию 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 голосов
/ 26 февраля 2019

Проблема решена.Это мой окончательный код после прочтения базы знаний 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);

Спасибо!:)

...