2015-09-10 83 views
0

如何獲取MySQL中第n個前一個工作日期? 假設函數簽名是 nth_previous_working_date(d日期,正INT)在MySQL中獲取第n個前一個工作日期

對於2015年9月10日,該函數應返回2015年9月3日

+0

查看mysql中的'date_sub()'函數 –

+0

工作日期是什麼意思?如果他們星期二病了怎麼辦? – Drew

+0

^我認爲它沒有不在乎關於「工作」日子:) – splash58

回答

0

可以使用date_sub功能。

SELECT DATE_SUB('2015-09-10', INTERVAL 7 DAY); 

或者乾脆用減號來

SELECT '2015-09-10' - INTERVAL 7 DAY 

See the working example.

0

獲取先前的非週末的工作日可以用的情況下進行。

select case dayofweek(curdate() - interval 1 day) -- yesterday 
when 1 then curdate() - interval 3 day -- when sunday, go 2 more days before 
when 7 then curdate() - interval 2 day -- when saturday, go 1 more days before 
else curdate() - interval 1 day -- yesterday 
end 
相關問題