Utilisation de la reconnaissance automatique avec DATEFORMAT et TIMEFORMAT - Amazon Redshift

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Utilisation de la reconnaissance automatique avec DATEFORMAT et TIMEFORMAT

Si vous spécifiez 'auto' comme argument pour le paramètre DATEFORMAT ou TIMEFORMAT, Amazon Redshift détecte et convertit automatiquement le format de date ou d’heure de vos données sources. Vous en trouverez un exemple ci-dessous.

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

Lorsqu’elle est utilisée avec l’argument 'auto' pour DATEFORMAT et TIMEFORMAT, la commande COPY reconnaît et convertit les formats de date et d’heure répertoriés dans la table de Chaînes DATEFORMAT et TIMEFORMAT. En outre, l’argument 'auto' reconnaît les formats suivants qui ne sont pas pris en charge lors de l’utilisation d’une chaîne DATEFORMAT et TIMEFORMAT.

Format Exemple de chaîne d’entrée valide
ISO 8601 2019-02-11T05:09:12.195Z
Julian 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
JJ lun HH:MI:SS AAAA TZ 17 déc 07:37:16 1997 PST
MM/JJ/AAAA HH:MI:SS.SS TZ 12/17/1997 07:37:16.00 PST
AAAA-MM-JJ HH:MI:SS+/-TZ 1997-12-17 07:37:16-08
JJ.MM.AAAA HH:MI:SS TZ 12.17.1997 07:37:16.00 PST

La reconnaissance automatique ne prend pas en charge epochsecs et epochmillisecs.

Pour vérifier si une valeur de date ou d’horodatage est automatiquement convertie, utilisez une fonction CAST pour tenter de convertir la chaîne en une valeur de date ou d’horodatage. Par exemple, les commandes suivantes testent la valeur d’horodatage '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

Si les données source d’une colonne DATE comprennent des informations sur l’heure, le composant est tronqué. Si les données source d’une colonne TIMESTAMP omettent des informations sur l’heure, 00:00:00 est utilisé comme composant d’heure.