目次

Search

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

関数リファレンス

関数リファレンス

TO_DATEおよびIS_DATEフォーマット文字列

TO_DATEおよびIS_DATEフォーマット文字列

TO_DATE関数は、指定した形式の文字列をDate/Time値に変換します。一般に、TO_DATEはフラットファイルからの文字列をDate/Time値に変換するために使用します。TO_DATEフォーマット文字列は国際化されていないため、下の表に示す定義済みの形式で入力しなければなりません。
TO_DATEとIS_DATEでは、同じ種類のフォーマット文字列を使用します。
TO_DATE式を作成する場合、変換元の文字列の日付の各部分に対してフォーマット文字列を使用します。ソース文字列フォーマットおよびフォーマット文字列は、日付区切り文字を含め、必ず一致している必要があります。一致しない部分がある場合、
データ統合
は、文字列を変換せずにその行をスキップします。フォーマット文字列を省略する場合は、変換元の文字列がデフォルトの日付形式(MM/DD/YYYY HH24:MI:SS)になっていなければなりません。
IS_DATEは、値が正しい日付であるかどうかを検査する関数です。正しい日付とは、デフォルトの日付形式(MM/DD/YYYY HH24:MI:SS)で有効な日付を表している文字列を意味します。テストする文字列がこの日付形式ではない場合、以下の表に記載されたフォーマット文字列を使用して日付の形式を指定します。文字列が指定されたフォーマット文字列に一致しない場合、または正しい日付でない場合には、関数はFALSE(0)を返します。文字列がフォーマット文字列に一致し、有効な日付である場合には、関数はTRUE(1)を返します。IS_DATEフォーマット文字列は国際化されていないため、下の表に示す定義済みの形式で入力しなければなりません。
以下の表に、TO_DATEおよびIS_DATE関数で使用されるフォーマット文字列のリストを示します。
フォーマット文字列
説明
AM, a.m., PM, p.m.
午前または午後。これらのいずれかの形式文字列を使用して、時刻が午前か午後かを指定します。AMとA.M.、PMとP.M.はそれぞれ同じ値を返します。
DAY
曜日の英語名(9文字まで)。例:Wednesday。DAY形式文字列は大文字と小文字を区別しません。
DD
日(1~31)。
DDD
1年における通算日(001~366)。366はうるう年の場合です。
DY
曜日の英語名の3文字の略称。例:Wed。DY形式文字列は大文字と小文字を区別しません。
HH, HH12
時(1~12)。
HH24
時(0~23)。ゼロは午前(深夜)12時を表します。
J
修正ユリウス日。MJD形式の文字列を日付値に変換します。元の文字列の時刻部分を無視し、すべての日付に00:00:00の時刻を割り当てます。
例えば、TO_DATE('2451544', 'J' )の式は「2451544」を「Dec 31 1999 00:00:00」に変換します。
MI
分(0~59)。
MM
月(1~12)。
MONTH
月の英語名(9文字まで)。例:August。大文字と小文字は区別されません。
MON
月の英語名の3文字の略称。例:Aug。大文字と小文字は区別されません。
MS
ミリ秒(0-999)
NS
ナノ秒。TO_DATEおよびIS_DATEは、'NS'のフォーマットトークンを使用してサブ秒をサポートできます。単位はナノ秒になります。サブ秒の部分がミリ秒の場合でも、次の例の場合は、ゼロを3つ追加して使用できます。
TO_DATE('2005-05-02 09:23:34 123000', 'YYYY-MM-DD HH24:MI:SS NS')
TO_DATE('2005-05-02 09:23:34.123' || '000', 'YYYY-MM-DD HH24:MI:SS.NS')
TO_DATE('2005-05-02 09:23:34123000', 'YYYY-MM-DD HH24:MI:SSNS')
RR
4桁の年(1998、2034など)。変換元の文字列が2桁の年を含む場合に使用します。TO_DATEで使用すると、2桁の年が4桁の年に変換されます。
  • 現在の年が50 - 99の場合。現在の年が50~99の間(例: 1998年)で、変換元の文字列に含まれる年の値が0~49の間である場合、
    データ統合
    は、次の世紀に変換元の文字列の2桁の年を足した値を返します。変換元の文字列に含まれる年の値が50~99の間である場合、
    データ統合
    は、現在の世紀に指定された2桁の年を足した値を返します。
  • 現在の年が0 - 49の場合。現在の年が0~49の間(例: 2003年)で、変換元の文字列の年が0~49である場合、
    データ統合
    は、変換元の文字列の2桁の年を現在の世紀に足した値を返します。変換元の文字列の年が50~99の間である場合、
    データ統合
    は、変換元の文字列の2桁の年を前の世紀に足した値を返します。
SS
秒(0~59)。
SSSSS
深夜0時からの通算秒。TO_DATE式でSSSSSが使用されている場合、
データ統合
は、日付の時刻部分のみを評価します。
例えば、式TO_DATE(DATE_STR, ‘MM/DD/YYYY SSSSS’)は「12/31/1999 3783」を「12/31/1999 01:02:03」に変換します。
US
マイクロ秒(0-999999)
Y
Secure Agentが動作しているマシン上での現在の年の下1桁を、文字列値で置き換えます。
YY
Secure Agentが動作しているマシン上での現在の年の下2桁を、文字列値で置き換えます。
YYY
Secure Agentが動作しているマシン上での現在の年の下3桁を、文字列値で置き換えます。
YYYY
年の全4桁。2桁の年を渡すときには、この形式文字列は使用しないでください。代わりに、RRまたはYY形式を使用します。