Redshift current_date -funksjon

Redshift current_date -funksjon
Current_date -funksjonen i rødforskyvningen brukes til å returnere datoen i UTC -tidssonen som standard. Datatypen for gjeldende_datingsfunksjon er datoen, og standardformatet til datoen som er lagret er YYYY-MM-DD. Denne funksjonen kan brukes til å holde rede på endringene som er gjort i klyngenes tabeller.

Selv om standard tidssonen for den returnerte verdien fra gjeldende_date-funksjonen er UTC, kan den endres ved hjelp av andre Redshift-innebygde funksjoner. Tilsvarende kan noen rødforskyvede innebygde funksjoner brukes til å trekke ut dagen, måneden og året fra verdien som returneres fra Current_date-funksjonen.

I denne bloggen vil vi se hvordan Redshift Current_Date -funksjonen kan brukes til forskjellige brukssaker.

Syntaks av Current_date

Syntaksen til Current_date-funksjonen er mye enklere enn andre innebygde funksjoner som er tilgjengelige for rødforskyvning. Current_date -funksjonen tar ingen argumenter og kan brukes sammen med en SELECT -setning. Følgende er syntaks for å få startdatoen for den nåværende transaksjonen som kjører på Amazon Redshift.

Velg Current_Date;

Få gjeldende dato ved hjelp av Current_Date -funksjonen

For å få gjeldende dato i Amazon Redshift, kan du bruke Current_Date -funksjonen. Current_date -funksjonen returnerer startdatoen for transaksjonen i stedet for startdatoen for gjeldende uttalelse.

Følgende spørsmål vil returnere startdatoen for den nåværende transaksjonen i Amazon Redshift.

Velg Current_Date;

Følgende vil være utgangen fra Current_date -funksjonen i Amazon Redshift Cluster.

DATO
2022-06-15

Datoen som returneres fra Current_date -funksjonen vil være i UTC -tidssonen. Du må stille det inn i henhold til tidssonen din før du avslutter resultatene.

Endre tidssonen for Current_date

Som beskrevet tidligere, vil datoen som er returnert av Current_Date -funksjonen være i UTC -tidssonen som standard. For å få datoen i ønsket tidssone, må du endre tidssonen for datoen fra UTC til din foretrukne tidssone.

For å konvertere tidssonen til gjeldende_datingsfunksjonen, vil vi bruke en annen innebygd funksjon Convert_TimeZone. Denne funksjonen vil ta kildetidssonen, måltidssonen og kildetiden, og den vil konvertere tiden til måletidssonen.

Følgende spørring genererer startdatoen for den nåværende transaksjonen i ønsket tidssone.

Velg Convert_TimeZone ('UTC', 'GMT+5', Current_Date);
Convert_TimeZone
2022-06-15 19:00:00

Når den utføres i rødforskyvning, vil den forrige spørringen først få den gjeldende datoen ved å bruke gjeldende_date -funksjonen i UTC -tidssonen og deretter konvertere tidssonen til datoen fra UTC til GMT+5.

Få dag, måned og år fra Current_Date

Current_date-funksjonen returnerer datoen i YYYY-MM-DD-format i UTC-tidssonen. Du kan trekke ut året, måneden og dagen fra datoen ved å bruke Extract -funksjonen i Amazon Redshift.

For å trekke ut året fra datoen ved hjelp av Current_Date og Extract -funksjonen, utfør følgende spørsmål i Redshift Cluster:

Velg Extract (år fra Current_Date) som år;
ÅR
2022

Den forrige spørringen vil først få startdatoen for den nåværende transaksjonen i UTC -tidssonen, og deretter vil Extract -funksjonen trekke ut året fra den datoen.

Tilsvarende kan du få måneden fra gjeldende dato ved å bruke Extract -metoden. Å utføre følgende spørsmål vil trekke ut måneden fra datoen i Redshift -klyngen:

Velg Extract (måned fra Current_Date) som måned;
MÅNED
6

For å trekke ut datoen fra Current_Date -funksjonen ved å bruke Extract -funksjonen, utfør følgende spørsmål i Redshift -klyngen:

Velg Extract (dag fra Current_Date) som dag;
DAG
16

Den forrige Redshift -spørringen vil returnere datoen i dag ved å trekke den ut fra Current_date -funksjonen.

Du kan også bruke Current_Date -funksjonen med Convert_TimeZone og trekke ut funksjoner for å trekke ut datoen fra gjeldende dato i den nødvendige tidssonen. Utfør følgende spørsmål i Redshift -klyngen for å trekke ut datoen fra gjeldende dato i GMT+5 tidssone.

Velg Convert_TimeZone ('UTC', 'GMT+5', Extract (Day from Current_Date));

Den forrige spørringen vil først få gjeldende dato, og deretter vil ekstraktfunksjonen trekke ut datoen fra Current_date -funksjonen. Deretter vil Convert_TimeZone -funksjonen endre tidssonen for datoen fra UTC til GMT+5.

Endre datoformat

Standardformatet til Current_Date-funksjonen er YYYY-MM-DD, men du kan alltid endre datoformatet. TO_CHAR -funksjonen kan brukes til å endre standardformatet til Current_Date -funksjonen.

Følgende spørring får startdatoen for gjeldende transaksjon i ønsket format.

Velg To_Char (Current_Date, 'Mm-Dd-Yyyy');
to_char
06-16-2022

Konklusjon

Current_date -funksjonen i Redshift kan brukes til å få startdatoen for den nåværende transaksjonen som kjører på klyngen. Som standard returnerer denne funksjonen gjeldende dato i UTC tidssone i åååå-mm-dd-format. Denne funksjonen kan brukes med andre funksjoner for å få gjeldende dato i ønsket format og tidssone. Denne artikkelen beskriver forskjellige tilfeller av bruk av Current_Date -funksjonen i forbindelse med andre funksjoner relatert til tid og dato, for eksempel Convert_TimeZone og Extract.