以下查询的结果是给我一个月的最后一个工作日。
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获得结果。
请帮助我。
答案 0 :(得分:1)
如果您只想要上一个,现在和下一个季度的最后工作日,那么在您的应用程序代码中计算这些日期然后将它们传递给数据库可能要容易得多。