@DATEDIFF
標準グレゴリオ暦に従って、指定された日付部分について2つの入力日付の差(数値)を返します。
構文
@DATEDIFF ( date1, date2, date_part )
パラメータ
- date1
-
1970年1月1日から2037年12月31日までの入力日を表す数値。 この数値は、1970年1月1日の深夜から経過した秒数です。 この番号を取得するには、次のいずれかの関数を使用: @TODAY、@TODATEEX、@DATEROLL。
メンバーの日時属性プロパティを使用して、この数値を取得することもできます。 たとえば、
@AttributeVal("Intro Date");
は、コンテキスト内の現在の製品の製品導入日を返します。 - date2
-
2番目の入力日。 date1を参照してください。
- 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 - 入力日の日。
-
ノート
入力date_partに基づいて、指定した時間コンポーネントの観点から入力日の差異がカウントされます。
例: 2005年6月14日および2006年10月10日の入力の場合
-
DP_YEARは、年コンポーネントの差異を返します。(2006 - 2005 = 1)
-
DP_QUARTERは、入力日付を取得する四半期間の距離を返します。 (2006年第4四半期 - 2005年第2四半期= 6)
-
DP_MONTHは、入力日付を取得する月間の距離を返します。 (2006年10月) - 2005年6月= 16)
-
DP_WEEKは、入力日付を取得する週間の距離を返します。 各標準カレンダ週は日曜日に始まり、7日にまたがるように定義されています。 (2006年10月10日 - 2005年6月14日= 69)
-
DP_DAYは、入力された日付の差を日数で返します。(483日)
例
アウトラインに、MyDate1とMyDate2の2つの日付タイプ・メンバーがあるとします。
Profit=@DateDiff(MyDate1, MyDate2, DP_WEEK);
Profit=@DatePart(MyDate1, DP_YEAR);
MyDate2=@DateRoll(MyDate1, DP_MONTH), 10);