Created attachment 30920 [details] Patch with Unit Tests and Fix When spanning a weekend, or the start date is a weekend, the WORKDAY function returns an incorrect result. There are probably a lot of other circumstances where it could have returned an incorrect result. As an example WORKDAY(DATE(2013,09,30),-1) should return 2013/09/27 but actually returns 2013/09/24 I have attached a patch which includes some new Unit Tests to reproduce the issue, and also a fix for the function to make the tests pass.
Thanks for your patch, it has been reviewed and merged in trunk in r1531124