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.