DATEFORMAT と TIMEFORMAT の文字列
COPY コマンドは、DATEFORMAT オプションと TIMEFORMAT オプションを使用して、ソースデータの日付と時刻の値を解析します。DATEFORMAT と TIMEFORMAT はフォーマットされた文字列であり、ソースデータの日付と時刻の値の形式と一致する必要があります。例えば、日付値が Jan-01-1999
のソースデータをロードする COPY コマンドには、次の DATEFORMAT 文字列を含める必要があります。
COPY ... DATEFORMAT AS 'MON-DD-YYYY'
COPY データ変換の管理の詳細については、「データ変換パラメータ」を参照してください。
DATEFORMAT と TIMEFORMAT 文字列には、日時区切り記号 ('-
'、'/
'、':
' など)、および次の「日付部分」と「時間部分」を含めることができます。
注記
日付値または時刻値の形式を次の dateparts および timeparts と一致させることができない場合、または互いに異なる形式を使用する日付値および時刻値がある場合は、'auto'
引数を DATEFORMAT または TIMEFORMAT パラメータと共に使用します。'auto'
引数は、DATEFORMAT または TIMEFORMAT 文字列を使用する場合にサポートされない形式を認識します。詳細については、「DATEFORMAT と TIMEFORMAT で自動認識を使用する」を参照してください。
日付部分または時刻部分 | 意味 |
---|---|
YY | 年 (世紀なし) |
YYYY | 年 (世紀あり) |
MM | 月 (数字) |
MON | 月 (名前。省略名またはフルネーム) |
DD | 日 (数字) |
HH または HH24 | 時 (24 時間制) 注記SQL 関数の DATETIME の形式の文字列では、HH は HH12 と同じです。ただし、COPY の DATEFORMAT と TIMEFORMAT の文字列では、HH は HH24 と同じです。 |
HH12 | 時 (12 時間制) |
MI | 分 |
SS | Seconds |
AM または PM | 午前午後の指標 (12 時間制用) |
デフォルトの日付形式は YYYY-MM-DD です。タイムゾーン (TIMESTAMP) 形式なしのデフォルトのタイプスタンプは YYYY-MM-DD HH:MI:SS です。タイムゾーン付きのデフォルトのタイムスタンプ (TIMESTAMPTZ) 形式は、YYYY-MM-DD HH:MI:SSOF です。ここで、OF は UTC からのオフセットです (例えば、–8:00。timeformat_string のタイムゾーン指定子 (TZ、tz または OF) を含めることはできません。秒 (SS) フィールドは、マイクロ秒レベルの詳細に至るまでの分数秒もサポートします。デフォルト形式と異なる形式の TIMESTAMPTZ データをロードするには、「auto」を指定します。
次に、ソースデータで検出できるサンプルの日付または時刻と、それらに対応する DATEFORMAT または TIMEFORMAT 文字列を示します。
ソースデータの日付または時刻の例 | DATEFORMAT または TIMEFORMAT 構文 |
---|---|
03/31/2003 | DATEFORMAT AS 'MM/DD/YYYY' |
March 31, 2003 | DATEFORMAT AS 'MON DD, YYYY' |
03.31.2003 18:45:05 03.31.2003 18:45:05.123456 |
TIMEFORMAT AS 'MM.DD.YYYY HH:MI:SS' |
例
TIMEFORMAT の使用例については、「タイムスタンプまたは日付スタンプのロード」を参照してください。