2011-12-06 41 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*)來確定日期是星期六還是星期天