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 )
構文
ADD_TO_DATE( date, format, amount )
引数 | 必須/ オプション | 説明 |
---|
date | 必須 | Date/Timeデータ型。変更したい値を渡します。有効な式を必要に応じて入力できます。 |
format | 必須 | 日付値の中で変更したい場所を指定するフォーマット文字列。フォーマット文字列は'mm'のように一重引用符で囲みます。フォーマット文字列は大文字と小文字を区別しません。 |
amount | 必須 | 日付値を変更する値として、年数、月数、日数、時間数などを指定する整数値。整数を求める有効な式を必要に応じて入力できます。 |
戻り値
関数に渡した日付と同じ形式の日付。
関数に引数としてNULL値が渡された場合には、NULLです。
例
以下の式はすべて、DATE_SHIPPEDカラムの各日付に1か月を加算します。特定の月に存在しない日を作成する値を渡すと、データ統合ではその月の最後の日が返されます。例えば、1998年1月31日に1か月を追加すると、データ統合では1998年2月28日が返されます。
また、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引数を正または負の整数にすることにより、日付のどの部分でも加算または減算することができます。
- •特定の月に存在しない日を作成する値を渡すと、データ統合ではその月の最後の日が返されます。例えば、1998年1月31日に1か月を追加すると、データ統合では1998年2月28日が返されます。
- •日付の操作を容易にするために、TRUNCやROUNDをネストすることができます。
- •TO_DATEをネストして文字を日付に変換できます。
- •ADD_TO_DATEは、日付の中で指定された1か所のみを変更します。日付の標準時刻をサマータイム時刻に変更したい場合には、日付の「時」部分を変更する必要があります。