Може да искате да опитате това:
-
Пребройте броя на работните дни (взех го от тук )
SELECT 5 * (DATEDIFF('2012-12-31', '2012-01-01') DIV 7) + MID('0123444401233334012222340111123400012345001234550', 7 * WEEKDAY('2012-01-01') + WEEKDAY('2012-12-31') + 1, 1)
Това ви дава 261 работни дни за 2012 г.
-
Сега трябва да знаете вашите празници, които не са в уикенд
SELECT COUNT(*) FROM holidays WHERE DAYOFWEEK(holiday) < 6
Резултатът от това зависи от вашата празнична трапеза.
-
Трябва да получим това с една заявка:
SELECT 5 * (DATEDIFF('2012-12-31', '2012-01-01') DIV 7) + MID('0123444401233334012222340111123400012345001234550', 7 * WEEKDAY('2012-01-01') + WEEKDAY('2012-12-31') + 1, 1) - (SELECT COUNT(*) FROM holidays WHERE DAYOFWEEK(holiday) < 6)
Това трябва да е.
Редактиране:Моля, имайте предвид, че това работи правилно само ако крайната ви дата е по-висока от началната ви.