PostgreSql konverter tidsstempel til dags dato

PostgreSql konverter tidsstempel til dags dato
PostgreSQL er en relasjonsdatabase som har forskjellige funksjoner for håndtering av datoer. Du kan jobbe med tidsstempler eller konvertere tidsstempene til datoer ved å bruke forskjellige måter. Flere datofunksjoner kommer med PostgreSQL inkludert konvertering av strengen til dags dato, til dags dato, få gjeldende dato osv.

Denne guiden fokuserer på fem måter å konvertere tidsstempene til dags dato i PostgreSQL.

Konvertere tidsstempel til dags dato

Tidsstempel refererer til dato og klokkeslett for en gitt hendelse. Det kan være gjeldende dato og tid eller annen tilfeldig dato og tid som er spesifisert i databasen eller som inndata. Når du har en tidsstempel, kan du konvertere den til dags dato jobbe med datoene mer presist, spesielt for dataanalyse. For eksempel kan det være lurt å trekke ut dagen eller året fra tidsstempel. La oss se hvordan vi skal oppnå det.

Bruke datofunksjonen

Anta at du har et forhold i PostgreSQL som inneholder en tidsstempel som en gitt transaksjon. Du kan bruke datoen () til å konvertere tidsstempel til dags dato og trekke ut verdien ved å bruke følgende syntaks:

# Velg dato (Timestamp_column) fra Relations_name;

Her er et eksempel for å få datoen fra tidsstempelkolonnen i en gitt tabell:

Bruke nå funksjonen

De nå() I PostgreSql henter gjeldende dato og tid. PostgreSQL har tre datatyper: Dato, tid, og tidsstempel. Du kan trekke ut noen av datatypene som bruker nå ().

For å trekke ut datoen fra tidsstempelet i PostgreSQL, kan du bruke nå () -funksjonen og spesifisere datatatatypen ved å bruke valget.

# Velg nå () :: dato;

Å kjøre kommandoen gir gjeldende systemdato.

Bruke TO_CHAR -funksjonen

De To_char () Funksjon konverterer forskjellige datatyper. Vi kan bruke den til å konvertere en tidsstempel til en date. Den bruker følgende syntaks:

# Til_char (uttrykk, format);

De uttrykk representerer datatypene, for eksempel tidsstempler, som bør konverteres til de nødvendige strengene. Det er forskjellige måter å bruke to_char () -funksjonen for å trekke ut datoen.
La oss først kombinere funksjonen med nå () for å få tidsstempel og konvertere den til en dato ved hjelp av et spesifisert format. Kombiner nå () -funksjonen med Dato nøkkelord.

# Velg to_char (nå () :: dato, 'dd-mm-yyyy');

dd-mm-yyyy”Representerer datoformatet vi ønsker å få som produksjon.

Du kan også trekke ut en enkelt detalj som året. Her er et eksempel:

En annen måte å konvertere tidsstempel til dags dato ved å bruke TO_CHAR () -funksjonen er å bruke current_timestamp nøkkelord for å få gjeldende tidsstempel, og spesifiser deretter hvilken informasjon som skal henter ut fra den.

La oss trekke ut ukedagen, måneden i måneden (Dd), og dagen på dagen ved å bruke 12-timers format (HH12), minuttene (Mi), og sekundene (Ss) med følgende kommando:

# Velg to_char (current_timestamp, 'dag, dd hh12: mi: ss');

To_char () -funksjonen har forskjellige formater som du kan bruke. Det gitte eksemplet er hvordan du bruker det til å konvertere en tidsstempel til en dato.

Bruke ekstraktfunksjonen

Extract () -funksjonen trekker ut underfelt, for eksempel året, fra tidsstempel. Funksjonen er hendig når bare en gitt date underfelt er påkrevd. Den bruker følgende syntaks:

# Extract (underfelt fra kilde);

For dette eksemplet trekker vi ut måneden fra den spesifiserte tidsstempelet ved å bruke det valgte nøkkelordet og lagre det som "måned.”Du kan bruke hvilket som helst navn for å lagre det.

# Velg Extract (måned fra tidsstempel '2022-11-28 21:34:45') som måned;

Du kan også trekke ut månedens dag.

Extract () -funksjonen kan også fungere med nå () -funksjonen for å bruke gjeldende datetime som tidsstempel i stedet for å spesifisere den. Bytt ut tidsstempelet med nå () som følger:

# Velg Extract (dag fra nå ()) som dag;

Vi får fremdeles den samme produksjonen.

Du kan erstatte underfeltet for å hente ut all informasjon fra tidsstempel.

Bruke dato_part -funksjonen

Dato_part () -funksjonen fungerer på samme måte som Extract () -funksjonen som den trekker ut underfeltet fra tidsstempel.

Bruk følgende syntaks:

# Date_part (underfelt, kilde);

Underfeltet er år, måned, eller dag som du vil trekke ut. Mens kilden er den spesifiserte eller nåværende tidsstempel.

La oss trekke ut året fra en spesifisert tidsstempel:

# Velg dato_part ('år', tidsstempel '2012-02-11 12:23:21') The_year;

For å trekke ut året fra det nåværende systemets tidsstempel, bruk nå ().

# Velg date_part ('år', nå ()) the_year;

For å trekke ut mer enn ett underfelt, kan du utføre denne kommandoen:

# Velg dato_part ('år', tidsstempel '2022-10-28 10:20:34') t_year, date_part ('måned', tidsstempel '2022-10-28 10:20:34') t_month, date_part ('dag ', Tidsstempel' 2022-10-28 10:20:34 ') T_DAY;

Alternativt kan du kjøre den samme kommandoen ved hjelp av nå () -funksjonen for gjeldende datetime:

# Velg date_part ('år', nå ()) t_year, date_part ('måned', nå ()) t_month, date_part ('dag', nå ()) t_day;

Konklusjon

PostgreSQL tilbyr forskjellige funksjoner for å jobbe med datoer. Denne guiden presenterte fem funksjoner som du kan bruke til å konvertere tidsstempel til dags dato inkludert dato (), to_char (), nå (), ekstrakt () og date_part (). Avhengig av målet ditt, kan du bruke noen av dem til å få datoen.