从select语句调用mysql存储过程

时间:2018-02-27 11:48:00

标签: mysql

我们可以从select语句中调用MY-Sql过程:

假设我有以下程序

DROP PROCEDURE IF EXISTS getStartDate;
DELIMITER $$
create procedure getStartDate(
    in week INT,
    in month varchar(30),
    in yearVal varchar(30), 
    out startDate DATE)
begin 

DECLARE beginDate DATE;

SET beginDate = CONCAT(yearVal, '-', month, '-01');

SET startDate = beginDate;

SELECT startDate;

END$$ DELIMITER ;

我想从像

这样的sql语句中调用它
select * from emp where start_date > (call getStartDate(2,'01','2018',@startDate))

有可能吗?因为我有一个基于周,月和日的要求。我必须获取开始日期和结束日期。为此,我计划制作两个程序,它们将返回开始和结束日期。对于一周,我有数据,如1,2,...对于月份:01,02 ...对于2017,2018 ...

请帮忙解决,因为我不想循环查询,我无法更改结构,因为它是现有的实时项目。

0 个答案:

没有答案