目次

Search

  1. はじめに
  2. トランスフォーメーション言語
  3. 定数
  4. 演算子
  5. 変数
  6. 日付
  7. 関数
  8. カスタム関数の作成
  9. カスタム関数APIリファレンス

トランスフォーメーション言語リファレンス

トランスフォーメーション言語リファレンス

ADD_TO_DATE

ADD_TO_DATE

指定された量をDate/Time値の一部に加算し、関数に渡した日付と同じ形式の日付を返します。ADD_TO_DATEには、正または負の整数値を入力できます。ADD_TO_DATEを使用して、日付の以下の部分を変更することができます。
  • 年。
    amount
    引数に正または負の整数を入力します。 年のフォーマット文字列として、Y、YY、YYY、YYYYのいずれかを使用できます。次の式は、SHIP_DATEポートのすべての日付に10年を加えます。
    ADD_TO_DATE ( SHIP_DATE, 'YY', 10 )
  • 月。
    amount
    引数に正または負の整数を入力します。 月のフォーマット文字列として、MM、MON、MONTHのいずれかを使用できます。次の式はSHIP_DATEポートのすべての日付から10ヶ月を引きます。
    ADD_TO_DATE( SHIP_DATE, 'MONTH', -10 )
  • 日。
    amount
    引数に正または負の整数を入力します。 日のフォーマット文字列として、D、DD、DDD、DY、DAYのいずれかを使用できます。たとえば、式はSHIP_DATEポートのすべての日付に10日を加えます。
    ADD_TO_DATE( SHIP_DATE, 'DD', 10 )
  • 時間。
    amount
    引数に正または負の整数を入力します。 時間のフォーマット文字列として、HH、HH12、HH24のいずれかを使用できます。以下の式は、SHIP_DATEポートのすべての日付に14時間を加えます。
    ADD_TO_DATE( SHIP_DATE, 'HH', 14 )
  • 分。
    amount
    引数に正または負の整数を入力します。 分の設定にはフォーマット文字列MIを使用します。以下の式は、SHIP_DATEポートのすべての日付に25分を加えます。
    ADD_TO_DATE( SHIP_DATE, 'MI', 25 )
  • 秒。
    amount
    引数に正または負の整数を入力します。 秒の設定にはSSフォーマット文字列を使用します。以下の式は、SHIP_DATEポートのすべての日付に59秒を加えます。
    ADD_TO_DATE( SHIP_DATE, 'SS', 59 )
  • ミリ秒。
    amount
    引数に正または負の整数を入力します。 秒の設定にはMSフォーマット文字列を使用します。以下の式は、DATE_ポートの各日付の年の部分を返します。
    ADD_TO_DATE( SHIP_DATE, 'MS', 125 )
  • マイクロ秒。
    amount
    引数に正または負の整数を入力します。 秒の設定にはUSフォーマット文字列を使用します。以下の式は、DATE_ポートの各日付の年の部分を返します。
    ADD_TO_DATE( SHIP_DATE, 'US', 2000 )
  • ナノ秒。
    amount
    引数に正または負の整数を入力します。 秒の設定にはNSフォーマット文字列を使用します。以下の式は、DATE_ポートの各日付の年の部分を返します。
    ADD_TO_DATE( SHIP_DATE, 'NS', 3000000 )

構文

ADD_TO_DATE( 
date
,
format
,
amount
 )
以下の表に、このコマンドの引数を示します。
引数
必須/
オプション
説明
日付
必須
Date/Timeデータ型。変更したい値を渡します。有効なトランスフォーメーション式を必要に応じて入力できます。
形式
必須
日付値の中で変更したい場所を指定するフォーマット文字列。フォーマット文字列は'mm'のように一重引用符で囲みます。フォーマット文字列は大文字と小文字を区別しません。
amount
必須
日付値を変更する値として、年数、月数、日数、時間数などを指定する整数値。整数を求める有効なトランスフォーメーション式を必要に応じて入力できます。

戻り値

関数に渡した日付と同じ形式の日付。
関数に引数としてNULL値が渡された場合には、NULLです。

以下の式はすべて、DATE_SHIPPEDポートの各日付に1か月を加算します。特定の月に存在しない日を作成する値を渡すと、
PowerCenter統合サービス
はその月の最後の日を返します。たとえば、Jan 31 1998に1か月を加えると、
PowerCenter統合サービス
はFeb 28 1998を返します。
また、ADD_TO_DATEはうるう年を認識し、Jan 29 2000に1か月を加えます。
ADD_TO_DATE( DATE_SHIPPED, 'MM', 1 ) ADD_TO_DATE( DATE_SHIPPED, 'MON', 1 ) ADD_TO_DATE( DATE_SHIPPED, 'MONTH', 1 )
DATE_SHIPPED
RETURN VALUE
Jan 12 1998 12:00:30AM
Feb 12 1998 12:00:30AM
Jan 31 1998 6:24:45PM
Feb 28 1998 6:24:45PM
Jan 29 2000 5:32:12AM
Feb 29 2000 5:32:12AM
  (Leap Year)
Oct 9 1998 2:30:12PM
Nov 9 1998 2:30:12PM
NULL
NULL
以下の式はすべて、DATE_SHIPPEDポートの各日付から10日を減算します。
ADD_TO_DATE( DATE_SHIPPED, 'D', -10 ) ADD_TO_DATE( DATE_SHIPPED, 'DD', -10 ) ADD_TO_DATE( DATE_SHIPPED, 'DDD', -10 ) ADD_TO_DATE( DATE_SHIPPED, 'DY', -10 ) ADD_TO_DATE( DATE_SHIPPED, 'DAY', -10 )
DATE_SHIPPED
RETURN VALUE
Jan 1 1997 12:00:30AM
Dec 22 1996 12:00AM
Jan 31 1997 6:24:45PM
Jan 21 1997 6:24:45PM
Mar 9 1996 5:32:12AM
Feb 29 1996 5:32:12AM
  (Leap Year)
Oct 9 1997 2:30:12PM
Sep 30 1997 2:30:12PM
Mar 3 1996 5:12:20AM
Feb 22 1996 5:12:20AM
NULL
NULL
以下の式はすべて、DATE_SHIPPEDポートの各日付から15時間を減算します。
ADD_TO_DATE( DATE_SHIPPED, 'HH', -15 ) ADD_TO_DATE( DATE_SHIPPED, 'HH12', -15 ) ADD_TO_DATE( DATE_SHIPPED, 'HH24', -15 )
DATE_SHIPPED
RETURN VALUE
Jan 1 1997 12:00:30AM
Dec 31 1996 9:00:30AM
Jan 31 1997 6:24:45PM
Jan 31 1997 3:24:45AM
Oct 9 1997 2:30:12PM
Oct 8 1997 11:30:12PM
Mar 3 1996 5:12:20AM
Mar 2 1996 2:12:20PM
Mar 1 1996 5:32:12AM
Feb 29 1996 2:32:12PM
  (Leap Year)
NULL
NULL

日付の使用について

ADD_TO_DATEの使用時には、下記のヒントを参照してください。
  • フォーマット文字列を指定して、
    amount
    引数を正または負の整数にすることにより、日付のどの部分でも加算または減算することができます。
  • 特定の月に存在しない日を作成する値を渡すと、
    PowerCenter統合サービス
    はその月の最後の日を返します。たとえば、Jan 31 1998に1か月を加えると、
    PowerCenter統合サービス
    はFeb 28 1998を返します。
  • 日付の操作を容易にするために、TRUNCやROUNDをネストすることができます。
  • TO_DATEをネストして文字を日付に変換できます。
  • ADD_TO_DATEは、日付の中で指定された1か所のみを変更します。日付の標準時刻をサマータイム時刻に変更したい場合には、日付の「時」部分を変更する必要があります。