Verwenden der automatischen Erkennung mit DATEFORMAT und TIMEFORMAT - Amazon Redshift

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

Verwenden der automatischen Erkennung mit DATEFORMAT und TIMEFORMAT

Wenn Sie 'auto' als Argument für den TIMEFORMAT Parameter DATEFORMAT oder angeben, erkennt Amazon Redshift automatisch das Datums- oder Zeitformat in Ihren Quelldaten und konvertiert es. Es folgt ein Beispiel.

copy favoritemovies from 'dynamodb://ProductCatalog' iam_role 'arn:aws:iam::0123456789012:role/MyRedshiftRole' dateformat 'auto';

Wenn es zusammen mit dem 'auto' Argument für DATEFORMAT und verwendet wirdTIMEFORMAT, COPY erkennt und konvertiert es die in der Tabelle unter aufgeführten Datums- und Uhrzeitformate. DATEFORMATund TIMEFORMAT Zeichenketten Darüber hinaus erkennt das 'auto' Argument die folgenden Formate, die bei Verwendung einer DATEFORMAT TIMEFORMAT UND-Zeichenfolge nicht unterstützt werden.

Format Beispiel für eine gültige Eingabezeichenfolge
ISO8601 2019-02-11T05:09:12.195Z
Julianisch J2451187
BC Jan-08-95 BC
YYYYMMDD HHMISS 19960108 040809
YYMMDD HHMISS 960108 040809
YYYY.DDD 1996.008
YYYY-MM-DD HH:MI:SS. SSS 1996-01-08 04:05:06.789
DD Mo HH:MI:SS TZ YYYY 17. Dezember 07:37:16 1997 PST
MM/DD/ HH:MI:SS.SS TZ YYYY 17.12.1997 07:37:16,00 PST
YYYY-MM-DD HH:MI:SS+/-TZ 1997-12-17 07:37:16-08
DD.MM. HH:MI:SS TZ YYYY 17.12.1997 07:37:16.00 PST

Die automatische Erkennung unterstützt keine Epochensekunden und Epochenmillisekunden.

Um zu testen, ob ein Datums- oder Zeitstempelwert automatisch konvertiert wird, versuchen Sie mit einer CAST Funktion, die Zeichenfolge in einen Datums- oder Zeitstempelwert umzuwandeln. Mit den folgenden Befehlen wird beispielsweise der Zeitstempelwert getestet 'J2345678 04:05:06.789':

create table formattest (test char(21)); insert into formattest values('J2345678 04:05:06.789'); select test, cast(test as timestamp) as timestamp, cast(test as date) as date from formattest; test | timestamp | date ----------------------+---------------------+------------ J2345678 04:05:06.789 1710-02-23 04:05:06 1710-02-23

Wenn die Quelldaten für eine DATE Spalte Zeitinformationen enthalten, wird die Zeitkomponente gekürzt. Wenn die Quelldaten für eine TIMESTAMP Spalte Zeitinformationen auslassen, wird 00:00:00 für die Zeitkomponente verwendet.