Funzione RedShift Current_Date

Funzione RedShift Current_Date
La funzione Current_Date nel Redshift viene utilizzata per restituire la data nel fuso orario UTC per impostazione predefinita. Il tipo di dati della funzione Current_Date è la data e il formato predefinito della data memorizzata è YYYY-MM-DD. Questa funzione può essere utilizzata per tenere traccia delle modifiche apportate alle tabelle del cluster.

Sebbene il fuso orario predefinito per il valore restituito dalla funzione corrente_date sia UTC, può essere modificato utilizzando altre funzioni integrate. Allo stesso modo, alcune funzioni integrate in spostamento verso il rosso possono essere utilizzate per estrarre il giorno, il mese e l'anno dal valore restituito dalla funzione corrente_date.

In questo blog, vedremo come può essere utilizzata la funzione corrente_date RedShift per diversi casi d'uso.

Sintassi di current_date

La sintassi della funzione Current_Date è molto più semplice rispetto ad altre funzioni integrate disponibili per Redshift. La funzione Current_Date non prende alcun argomento e può essere utilizzata insieme a un'istruzione selezionata. Di seguito è riportata la sintassi per ottenere la data di inizio della transazione corrente in esecuzione su Amazon Redshift.

Selezionare current_date;

Ottieni la data corrente utilizzando la funzione Current_Date

Per ottenere la data corrente in Amazon Redshift, è possibile utilizzare la funzione Current_Date. La funzione corrente_date restituisce la data di inizio della transazione anziché la data di inizio dell'istruzione corrente.

La seguente query restituirà la data di inizio della transazione corrente nel Redshift Amazon.

Selezionare current_date;

Il seguente sarà l'output della funzione Current_Date nel cluster Amazon Redshift.

DATA
2022-06-15

La data restituita dalla funzione Current_Date sarà nel fuso orario UTC. Devi sintonizzarlo in base al fuso orario prima di concludere i risultati.

Cambia il fuso orario di Current_Date

Come descritto in precedenza, la data restituita dalla funzione Current_Date sarà nel fuso orario UTC per impostazione predefinita. Per ottenere la data nel fuso orario desiderato, è necessario modificare il fuso orario della data da UTC al fuso orario preferito.

Per convertire il fuso orario della funzione Current_Date, utilizzeremo un'altra funzione integrata convert_timezone. Questa funzione prenderà il fuso orario di origine, il fuso orario target e il tempo di origine e convertirà il tempo nel fuso orario target.

La seguente query genererà la data di inizio della transazione corrente nel fuso orario desiderato.

Seleziona convert_timezone ('utc', 'gmt+5', current_date);
convert_timezone
2022-06-15 19:00:00

Quando viene eseguita in Redshift, la query precedente riceverà prima la data corrente utilizzando la funzione Current_Date nel fuso orario UTC e quindi convertirà il fuso orario della data da UTC a GMT+5.

Ottenere il giorno, il mese e l'anno da Current_Date

La funzione Current_Date restituisce la data in formato YYYY-MM-DD nel fuso orario UTC. Puoi estrarre l'anno, il mese e il giorno dalla data utilizzando la funzione di estratto in Amazon Redshift.

Per estrarre l'anno dalla data utilizzando la funzione Current_Date ed Extract, eseguire la seguente query nel cluster di spostamento verso il rosso:

Seleziona estratto (anno da current_date) come anno;
ANNO
2022

La query precedente riceverà prima la data di inizio dell'attuale transazione nel fuso orario UTC, quindi la funzione di estratto estraggerà l'anno da quella data.

Allo stesso modo, puoi ottenere il mese dalla data corrente utilizzando il metodo Extract. L'esecuzione della seguente query estraggerà il mese dalla data nel cluster di spostamento verso il rosso:

Seleziona estratto (mese da current_date) come mese;
MESE
6

Per estrarre la data dalla funzione Current_Date utilizzando la funzione Extract, eseguire la seguente query all'interno del cluster Redshift:

Seleziona estratto (giorno da current_date) come giorno;
GIORNO
16

La precedente query RedShift restituirà la data oggi estraendola dalla funzione Current_Date.

È inoltre possibile utilizzare la funzione Current_Date con funzioni convert_timezone ed estratto per estrarre la data dalla data corrente nel fuso orario richiesto. Esegui la seguente query nel cluster Redshift per estrarre la data dalla data corrente in GMT+5 fuso orario.

Seleziona convert_timezone ('utc', 'gmt+5', estratto (giorno da current_date));

La query precedente riceverà prima la data corrente e quindi la funzione Extract estraggerà la data dalla funzione Current_Date. Quindi, la funzione convert_timezone cambierà il fuso orario della data da UTC a GMT+5.

Modifica del formato della data

Il formato predefinito della funzione Current_Date è YYYY-MM-DD, ma puoi sempre modificare il formato della data. La funzione TO_CHAR può essere utilizzata per modificare il formato predefinito della funzione Current_Date.

La seguente query otterrà la data di inizio della transazione corrente nel formato desiderato.

Seleziona to_char (current_date, 'mm-dd-yyyy');
to_char
06-16-2022

Conclusione

La funzione Current_Date in Redshift può essere utilizzata per ottenere la data di inizio della transazione corrente in esecuzione sul cluster. Per impostazione predefinita, questa funzione restituisce la data corrente nel fuso orario UTC in formato YYYY-MM-DD. Questa funzione può essere utilizzata con altre funzioni per ottenere la data corrente nel formato desiderato e nel fuso orario. Questo articolo descrive diversi casi di utilizzo della funzione corrente_date insieme ad altre funzioni relative al tempo e alla data, come convert_timezone ed estratto.