Utilizzo del riconoscimento automatico con DATEFORMAT e TIMEFORMAT - Amazon Redshift

Amazon Redshift non supporterà più la creazione di nuovi Python UDFs a partire dalla Patch 198. Python esistente UDFs continuerà a funzionare fino al 30 giugno 2026. Per ulteriori informazioni, consulta il post del blog.

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Utilizzo del riconoscimento automatico con DATEFORMAT e TIMEFORMAT

Se si specifica 'auto' come argomento per il parametro DATEFORMAT o TIMEFORMAT, Amazon Redshift riconoscerà e convertirà automaticamente il formato data o ora nei dati di origine. Di seguito viene riportato un esempio.

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

Se usato con l'argomento 'auto' per DATEFORMAT e TIMEFORMAT, COPY riconosce e converte i formati di data e ora elencati nella tabella in Stringhe DATEFORMAT e TIMEFORMAT. Inoltre, l'argomento 'auto' riconosce i seguenti formati che non sono supportati quando si usa una stringa DATEFORMAT e TIMEFORMAT.

Formato Esempio di stringa di ingresso valida
ISO 8601 2019-02-11T05:09:12.195Z
Giuliano J2451187
BC Gen-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 Mese HH:MI:SS YYYY TZ 17 Dic 07:37:16 1997 PST
MM/DD/YYYYHH:MI:SS.SS TZ 12/17/1997 07:37:16.00 PST
YYYY-MM-DD HH: MI: SS+/-TZ 1997-12-17 07:37:16-08
DD.MM.YYYY HH:MI:SS TZ 12.17.1997 07:37:16.00 PST

Il riconoscimento automatico non supporta epochsecs ed epochmillisecs.

Per verificare se un valore di data o di timestamp viene convertito automaticamente, utilizza una funzione CAST per tentare di convertire la stringa in un valore di data o timestamp. Ad esempio, i seguenti comandi verificano il valore del timestamp '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

Se i dati sorgente di una colonna DATE includono informazioni sull'ora, la componente temporale viene troncata. Se i dati sorgente di una colonna TIMESTAMP omettono informazioni sull'ora, per la componente dell'ora viene utilizzato 00:00:00.