@DATEROLL
指定された日付まで、特定の時間間隔をロール(加算または減算)し、別の日付を返します。 この関数は、標準グレゴリオ暦を想定しています。
構文
@DATEROLL ( date, date_part, number )
パラメータ
- date
-
1970年1月1日から2037年12月31日までの日付を表す数値。 この数値は、1970年1月1日の深夜から経過した秒数です。 この番号を取得するには、次のいずれかの関数を使用: @TODAY、@TODATEEX。
メンバーの日時属性プロパティを使用して、この数値を取得することもできます。 たとえば、
@AttributeVal("Intro Date");
は、コンテキスト内の現在の製品の製品導入日を返します。 - date_part
-
次のルールを使用して定義されます:
date_part_ex ::= DP_YEAR | DP_QUARTER |DP_MONTH | DP_WEEK | DP_DAY | DP_DAYOFYEAR | DP_WEEKDAY
標準カレンダに従って定義された時間コンポーネント:
-
DP_YEAR - 入力日の年。
-
DP_QUARTER - 入力日の四半期。
-
DP_MONTH - 入力日の月。
-
DP_WEEK - 入力日の週。
-
DP_DAY - 入力日の日。
-
- number
-
加算または減算する時間間隔の数。
ノート
入力されたdate_partおよびdateroll numberに基づいて、日付が前後に移動されます。
例: 入力日が2005年6月14日で、入力日付ロール番号が5の場合、
-
DP_YEARでは、入力日に5年が加算されます。 (2010年6月14日)
-
DP_QUARTERでは、入力日に5つの四半期が追加されます。 (2005年6月14日 + 5四半期 = 2005年6月14日 + 15か月 = 2006年9月14日)
-
DP_MONTHでは、入力日に5か月が加算されます(2005年6月14日 + 5か月 = 2005年11月14日)
-
DP_WEEKでは、入力日に5週間が加算されます(2005年6月14日 + 5週間 = 2005年6月14日 + 35日 = 2005年7月19日)
-
DP_DAYでは、入力日に5日が加算されます。 (2005年6月14日 + 5日 = 2005年6月19日)
例
アウトラインに、MyDate1とMyDate2の2つの日付タイプ・メンバーがあるとします。
Profit=@DateDiff(MyDate1, MyDate2, DP_WEEK);
Profit=@DatePart(MyDate1, DP_YEAR);
MyDate2=@DateRoll(MyDate1, DP_MONTH, 10);