sql >> Database teknologi >  >> RDS >> PostgreSQL

Returner Unix-tidsstemplet i PostgreSQL

I PostgreSQL kan vi bruge extract() fungerer sammen med epoch argument for at returnere Unix-tidsstemplet.

Vi kan returnere Unix-tidsstemplet baseret på den aktuelle dato/tid, eller vi kan få det baseret på en anden specificeret dato/tid.

Unix-tidsstemplet (også kendt som Unix Epoch-tid, Unix-tid eller POSIX-tid) er det antal sekunder, der er gået siden 00:00:00 torsdag den 1. januar 1970, Coordinated Universal Time (UTC).

Hent det aktuelle Unix-tidsstempel

Her er et eksempel på at få Unix-tidsstemplet fra den aktuelle dato og klokkeslæt:

SELECT extract(epoch from now());

Resultat:

1650152298.430101

Datoværdier

Her er et eksempel på at få Unix-tidsstemplet fra en specificeret date værdi:

SELECT extract(epoch from date '2030-08-15');

Resultat:

1912982400

Når det bruges med date værdier, epoch returnerer det nominelle antal sekunder siden 1970-01-01 00:00:00 uden hensyntagen til tidszone eller sommertidsregler.

Tidsstempelværdier

Her er et eksempel på at få Unix-tidsstemplet fra et specificeret timestamp værdi:

SELECT extract(epoch from timestamp '2030-08-15 03:30:45');

Resultat:

1912995045

Når det bruges med timestamp værdier, epoch returnerer det nominelle antal sekunder siden 1970-01-01 00:00:00 uden hensyntagen til tidszone eller sommertidsregler. Dette er det samme, som når du bruger date værdier.

Tidsstempel med tidszoneværdi

Her er et eksempel på at få Unix-tidsstemplet fra et specificeret timestamp with time zone værdi:

SELECT extract(
    epoch from timestamp with time zone '2030-08-15 03:30:45.12-08'
    );

Resultat:

1913023845.12

Når det bruges med timestamp with time zone værdier, epoch returnerer antallet af sekunder siden 1970-01-01 00:00:00 UTC (negativt for tidsstempler før det)

Intervaller

Vi kan også få et Unix-tidsstempel fra et interval værdi:

SELECT extract(epoch from interval '7 days 2 hours');

Resultat:

612000

Når det bruges med interval værdier, epoch returnerer det samlede antal sekunder i intervallet.


  1. SQLite og tilpasset rækkefølge efter

  2. Kan ikke oprette forbindelse til MySQL 4.1+ ved hjælp af gammel godkendelse

  3. EKSPORTER SOM INDSÆT UDTALELSER:Men i SQL Plus tilsidesætter linjen 2500 tegn!

  4. oracle PLSQL interviewspørgsmål