2012-04-23 43 views
0

週末と祝日を除き、開始日と終了日の2つの日付の間の日数を計算したいとします。私は祝日のテーブルを持っています。私はこのmysqlの週末と祝日を除く日付差の計算方法

 
select TIMEDIFF(date1,date2) from table 
where date1 not in (select holiday from holiday_table) and 
date2 not in (select holiday from holiday_table) and 
DAYOFWEEK(date1) not in (1,7) and DAYOFWEEK(date2) not in (1,7)

のようないくつかの例を見ました。しかし、それは2つだけの日付始まりと終わりしかし、それとの間に何も残しているがかかるので、これは動作しません。他の提案がありますか?

答えて

0

私はそれがUDFで作成する必要があることを問題のあなたの説明から、同じように感じるとロジックは次のようにする必要があります:次に取る

  • select count(1) from holiday_table where holiday between @start and @end
  • の間に入るどのように多くの日数を確認実際の@start@endと私はUDFを使用するべきであることを意味holiday_table
+0

[OK]をカウントし、減算の違い、しかし、問題は、私はUDFとfemilerわけではないです。あなたはこの場合に任意の例を持っていますか。可能であれば、これに対してsqlクエリを提供できますか?私はこれが他の人にとっても便利だと思います。ありがとう – Akrambek

関連する問題