2011-12-06 2 views
0

簡単な質問SQL関数?月に必要な時間数

SQLで利用可能な月間の所要時間を計算する関数はありますか? 休日のカウンターでない場合は、

は、私はこのような何かに見えるカレンダーであるSQLでテーブルを作成したい:

Year Month Required_Hours 
2011 1  * 
2011 2  * 

関数は*の値を計算します

--EDIT--

所要時間:1日8時間

土曜日と日曜日+祝日はカウントされません。

+3

あなたは "必須時間"をどのように定義しますか? – vlad

+3

私の短い答えはノーです。異なる国や州が異なる休日を見ており、また異なる企業が異なる休日を観察しているため、既存の機能は存在しません。したがって、標準はありません。だから、ジェネリック関数は、あなた自身で書く必要があります。 – xQbert

+0

必要な時間は何ですか? – CloudyMarble

答えて

0

MySQLでは、あなたはこの SELECT 24 * DAYOFMONTHような何か行うことができます(LAST_DAY(CONCAT(年、 ' - '、月は、 ' - '、1)))

それは月に日を返します時間24は、その特定の月の時間数に等しい。たぶんTSQLに類似の機能がいくつかありますか?

0

短い答え:組み込みのSQL関数はありません。

長い答え:これは明らかに特定の月にいくつの休暇があるかによって異なります。これを処理する1つの方法は、一般の休日を格納し、合計からそれらを減算するテーブルを持つことです。さらに、従業員1人あたりの休日/休暇日を考慮する必要があるかもしれません。それは別のテーブルになります。しかし、一度あなたがそれらを持っていれば、それほど悪くはありません:DATEPART(weekday, *date*)を使用して、日付が土曜日か日曜日かどうかを調べる

関連する問題