目次

Search

  1. はじめに
  2. 関数リファレンス
  3. 定数
  4. 演算子
  5. 日付
  6. 関数
  7. システム変数
  8. データ型リファレンス

関数リファレンス

関数リファレンス

SET_DATE_PART

SET_DATE_PART

Date/Time値の一部を指定した値に設定します。
SET_DATE_PARTを使用して、日付の以下の部分を変更できます。
value
引数に正の整数を入力することで、年を変更します。Y、YY、YYY、YYYYのいずれかを年のフォーマット文字列として使用し、年を設定します。例えば、SHIP_DATEカラムのすべての日付について、年を2001に変更するには、式
SET_DATE_PART( SHIP_DATE, 'YY', 2001 )
を使用します。
value
引数に1から12(1月は1、12月は12)までの正の整数を入力することにより、月を変更します。MM、MON、MONTHのいずれかを月のフォーマット文字列として使用し、月を設定します。例えば、SHIP_DATEカラムのすべての日付について、月を10月に変更するには、式
SET_DATE_PART( SHIP_DATE, 'MONTH', 10 )
を使用します。
value
引数に1から31までの正の整数を入力することにより、日を変更します(31日より少ない2月、4月、6月、9月、11月を除く)。D、DD、DDD、DY、DAYのいずれかを日のフォーマット文字列として使用し、日を設定します。例えば、SHIP_DATEカラムのすべての日付について、日を10に変更するには、式
SET_DATE_PART( SHIP_DATE, 'DD', 10 )
を使用します。
時間
value
引数に0から24までの正の整数を入力することにより、時を変更します(0=12AM、12=12PM、24=12AM)。HH、HH12、HH24のいずれかを時のフォーマット文字列として使用し、時を設定します。例えば、SHIP_DATEカラムのすべての日付について、時を14:00:00(午後2:00:00)に変更するには、式
SET_DATE_PART( SHIP_DATE, 'HH', 14 )
を使用します。
value
引数に0から59までの正の整数を入力することにより、分を変更します。分の設定にはフォーマット文字列MIを使用します。例えば、SHIP_DATEカラムのすべての日付について、分を25に変更するには、式
SET_DATE_PART( SHIP_DATE, 'MI', 25 )
を使用します。
value
引数に0 - 59の正の整数を入力することにより、秒を変更します。秒の設定にはSSフォーマット文字列を使用します。例えば、SHIP_DATEカラムのすべての日付について、秒を59に変更するには、式
SET_DATE_PART( SHIP_DATE, 'SS', 59 )
を使用します。

構文

SET_DATE_PART(
date
,
format
,
value
)
引数
必須/
オプション
説明
date
必須
Date/Timeデータ型。変更したい日付です。有効な式を必要に応じて入力できます。
format
必須
日付の中で変更したい場所を指定するフォーマット文字列。フォーマット文字列は大文字と小文字を区別しません。
value
必須
日付内の指定した部分に代入される正の整数値。この整数は、変更したい日付の部分に対して有効な値でなければなりません。不適切な値(2月30日など)を入力すると、セッションが失敗します。

戻り値

指定した部分が変更された日付を、元の日付と同じ形式で返します。
関数にNULL値を渡した場合はNULLです。

次の式は、DATE_PROMISEDカラムの各日付について、時を午後4時に変更します。
SET_DATE_PART( DATE_PROMISED, 'HH', 16 ) SET_DATE_PART( DATE_PROMISED, 'HH12', 16 ) SET_DATE_PART( DATE_PROMISED, 'HH24', 16 )
DATE_PROMISED
RETURN VALUE
Jan 1 1997 12:15:56AM
Jan 1 1997 4:15:56PM
Feb 13 1997 2:30:01AM
Feb 13 1997 4:30:01PM
Mar 31 1997 5:10:15PM
Mar 31 1997 4:10:15PM
Dec 12 1997 8:07:33AM
Dec 12 1997 4:07:33PM
NULL
NULL
次の式は、DATE_PROMISEDカラムの日付について、月を6月に変更します。
データ統合
では、存在しない日付を作成しようとした場合(3月31日を6月31日に変更しようとした場合など)、エラーが表示されます。
SET_DATE_PART( DATE_PROMISED, 'MM', 6 ) SET_DATE_PART( DATE_PROMISED, 'MON', 6 ) SET_DATE_PART( DATE_PROMISED, 'MONTH', 6 )
DATE_PROMISED
RETURN VALUE
Jan 1 1997 12:15:56AM
Jun 1 1997 12:15:56AM
Feb 13 1997 2:30:01AM
Jun 13 1997 2:30:01AM
Mar 31 1997 5:10:15PM
None.
データ統合
writes the row into the error rows file.
Dec 12 1997 8:07:33AM
Jun 12 1997 8:07:33AM
NULL
NULL
次の式は、DATE_PROMISEDカラムの日付について、年を2000に変更します。
SET_DATE_PART( DATE_PROMISED, 'Y', 2000 ) SET_DATE_PART( DATE_PROMISED, 'YY', 2000 ) SET_DATE_PART( DATE_PROMISED, 'YYY', 2000 ) SET_DATE_PART( DATE_PROMISED, 'YYYY', 2000 )
DATE_PROMISED
RETURN VALUE
Jan 1 1997 12:15:56AM
Jan 1 2000 12:15:56AM
Feb 13 1997 2:30:01AM
Feb 13 2000 2:30:01AM
Mar 31 1997 5:10:15PM
Mar 31 2000 5:10:15PM
Dec 12 1997 8:07:33AM
Dec 12 2000 4:07:33PM
NULL
NULL

ヒント

日付の中の複数の部分を一度に変更したい場合は、
date
引数に複数のSET_DATE_PART関数をネストすることができます。例えば、DATE_ENTEREDカラムのすべての日付を1998年7月1日に変更するには、次の式を作成します。
SET_DATE_PART( SET_DATE_PART( SET_DATE_PART( DATE_ENTERED, 'YYYY', 1998),MM', 7), 'DD', 1)