Hi, I'm Ask INFA!
What would you like to know?
ASK INFAPreview
Please to access Ask INFA.

目次

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)