sql >> Databasteknik >  >> RDS >> PostgreSQL

Returnera Unix-tidsstämpeln i PostgreSQL

I PostgreSQL kan vi använda extract() fungerar tillsammans med epoch argument för att returnera Unix-tidsstämpeln.

Vi kan returnera Unix-tidsstämpeln baserat på aktuellt datum/tid, eller så kan vi få det baserat på ett annat angivet datum/tid.

Unix-tidsstämpeln (även känd som Unix Epoch-tid, Unix-tid eller POSIX-tid) är antalet sekunder som har förflutit sedan 00:00:00 torsdagen den 1 januari 1970, Coordinated Universal Time (UTC).

Hämta den aktuella Unix-tidsstämpeln

Här är ett exempel på hur du får Unix-tidsstämpeln från det aktuella datumet och tiden:

SELECT extract(epoch from now());

Resultat:

1650152298.430101

Datumvärden

Här är ett exempel på att få Unix-tidsstämpeln från ett angivet date värde:

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

Resultat:

1912982400

När den används med date värden, epoch returnerar det nominella antalet sekunder sedan 1970-01-01 00:00:00, utan hänsyn till tidszon eller regler för sommartid.

Tidsstämpelvärden

Här är ett exempel på hur du hämtar Unix-tidsstämpeln från en specificerad timestamp värde:

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

Resultat:

1912995045

När den används med timestamp värden, epoch returnerar det nominella antalet sekunder sedan 1970-01-01 00:00:00, utan hänsyn till tidszon eller regler för sommartid. Detta är samma sak som när du använder date värden.

Tidsstämpel med tidszonsvärde

Här är ett exempel på hur du hämtar Unix-tidsstämpeln från en specificerad timestamp with time zone värde:

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

Resultat:

1913023845.12

När den används med timestamp with time zone värden, epoch returnerar antalet sekunder sedan 1970-01-01 00:00:00 UTC (negativt för tidsstämplar före det)

Intervaller

Vi kan också få en Unix-tidsstämpel från ett interval värde:

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

Resultat:

612000

När den används med interval värden, epoch returnerar det totala antalet sekunder i intervallet.


  1. MariaDB JSON-funktioner

  2. MySQL ERROR 1045 (28000):Åtkomst nekad för användaren 'bill'@'localhost' (med lösenord:JA)

  3. SQL Server - brist på NATURAL JOIN / x JOIN y USING(fält)

  4. SQL - Call Stored Procedure för varje post