使用MySql获取一季度最后一个月的最后一个工作日

时间:2013-01-30 08:11:21

标签: mysql

以下查询的结果是给我一个月的最后一个工作日。

select  DATE_FORMAT(max(dates), '%m-%d-%Y')  Last_day
from
(select dates,@r := @r + 1 as r
FROM
(SELECT @r := 0) r1,
(SELECT @row := @row + 1 as row, DATE_ADD('2013-03-01', INTERVAL @row-1 DAY) dates
From
(SELECT @row := 0) r,
(select 1 n union all select 2 n union all select 3 n union all select 4 n union all     select 5 n union all select 6 n) t1,
(select 1 n union all select 2 n union all select 3 n union all select 4 n union all select 5 n union all select 6 n) t2
) num_seq 
where 
dates<DATE_ADD('2013-03-01', INTERVAL 1 MONTH)
and DAYNAME(dates) not in ('Saturday','Sunday') 
order by dates )rTable;

以下查询的结果是给出了特定日期的最后一天。

select MAKEDATE(YEAR('2013-03-01'), 1)+ INTERVAL QUARTER('2013-03-01') QUARTER - INTERVAL 1 DAY a;

我所遇到的问题是从上一季度,现在和下一季度开始的最后一个工作日。 有没有办法使用上面的两个sql获得结果。

请帮助我。

1 个答案:

答案 0 :(得分:1)

如果您只想要上一个,现在和下一个季度的最后工作日,那么在您的应用程序代码中计算这些日期然后将它们传递给数据库可能要容易得多。