2011-12-06 40 views
0

只是一个简单的问题,SQL函数?每月所需的小时

是否有计算所需时间每月在SQL中可用的功能? 如果不是度假计数器?

我要在SQL中创建一个表,它是一个日历,看起来是这样的:

Year Month Required_Hours 
2011 1  * 
2011 2  * 

其中,函数将计算*值

- 编辑 -

所需时间为:每天8小时

不计算的日子:周六和周日+假日。

+3

如何定义“所需小时数”? – vlad

+3

我的简短回答是否定的;现有的功能并不存在,因为不同的国家,不同的国家,不同的节假日以及不同的公司观察不同的假期。因此没有标准;所以没有通用的功能,你必须自己写。 – xQbert

+0

需要几小时? – CloudyMarble

回答

0

在MySQL中,你可以做这样的事情 选择24 * DAYOFMONTH(LAST_DAY(CONCAT(年, ' - ',月, ' - ',1)))

这将返回天在一个月乘以24,等于该特定月份的小时数。也许TSQL有一些类似的功能?

0

简答:没有内置的SQL函数。

长答案:这显然取决于在特定月份期间有多少假期。处理这种情况的一种方法是制作一个表格,用于存储公共假期并从总数中扣除这些假期。最重要的是,您可能需要考虑每个员工的个人假期/假期,而这将是另一张桌子。但是,一旦你有了这些,这不是很糟糕:使用DATEPART(weekday, *date*)来确定日期是星期六还是星期天