"Start_Date"と "End_Date"の2つの日付を持つ表があります。 DB2 SQLでは、これら2つの日付の間にうるう日があるかどうかを判断する方法はありますか?DB2 SQLを使用してうるう日が2日以内になるかどうかを調べる
ありがとうございました!
"Start_Date"と "End_Date"の2つの日付を持つ表があります。 DB2 SQLでは、これら2つの日付の間にうるう日があるかどうかを判断する方法はありますか?DB2 SQLを使用してうるう日が2日以内になるかどうかを調べる
ありがとうございました!
確かに、開始日と終了日の間の日数を開始日と終了日の間の日数と両方を比較した日数を比較することによって、日付計算とDAYS関数を使用してこれを行うことができます1年シフト。
2つの日付の間の日数がどちらの場合も同じ場合、うるう年は発生しません。日数が異なる場合は、少なくとも1閏日があります。
この式は、うるうの日数を返します。
select
(DAYS(end_date + 1 year) - DAYS(start_date + 1 year)) -
(DAYS(end_date) - DAYS(start_date))
from
sysibm.sysdummy1
これは限りEND_DATE> = start_dateのように動作するはずです。
これをスカラーのユーザー定義関数にカプセル化するのは簡単です。
このアプローチはうまくいった!どうもありがとうございました! – Netbrian
どのバージョンのDB2およびそれが実行されているプラットフォームですか? –