PostgreSQL
 sql >> база данни >  >> RDS >> PostgreSQL

Връщане на Unix Timestamp в PostgreSQL

В PostgreSQL можем да използваме extract() функция заедно с epoch аргумент за връщане на времевата марка на Unix.

Можем да върнем клеймото за време на Unix въз основа на текущата дата/час или можем да го получим въз основа на друга определена дата/час.

Unix timestamp (известен също като Unix Epoch time, Unix time или POSIX time) е броят на секундите, които са изминали от 00:00:00 четвъртък, 1 януари 1970 г., координирано универсално време (UTC).

Вземете текущото времеви печат на Unix

Ето пример за получаване на времевия печат на Unix от текущата дата и час:

SELECT extract(epoch from now());

Резултат:

1650152298.430101

Стойности за дата

Ето пример за получаване на времевата марка на Unix от определена date стойност:

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

Резултат:

1912982400

Когато се използва с date стойности, epoch връща номиналния брой секунди от 1970-01-01 00:00:00, без оглед на часовата зона или правилата за лятно часово време.

Стойности на времеви отпечатъци

Ето пример за получаване на времевия печат на Unix от посочен timestamp стойност:

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

Резултат:

1912995045

Когато се използва с timestamp стойности, epoch връща номиналния брой секунди от 1970-01-01 00:00:00, без оглед на часовата зона или правилата за лятно часово време. Това е същото като при използване на date стойности.

Часово клеймо със стойност на часовата зона

Ето пример за получаване на клеймото за време на Unix от определен timestamp with time zone стойност:

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

Резултат:

1913023845.12

Когато се използва с timestamp with time zone стойности, epoch връща броя на секундите от 1970-01-01 00:00:00 UTC (отрицателно за времеви печати преди това)

Интервали

Можем също да получим времеви печат на Unix от interval стойност:

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

Резултат:

612000

Когато се използва с interval стойности, epoch връща общия брой секунди в интервала.


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Използване на една и съща колона няколко пъти в клаузата WHERE

  2. PostgreSQL IN оператор с слаба производителност на подзаявката

  3. Какъв е еквивалентният синтаксис на PostgreSQL на CONNECT BY... ЗАПОЧНЕТЕ С Oracle?

  4. DatabaseError:текущата транзакция е прекратена, командите се игнорират до края на блока на транзакцията?

  5. Как да декларирате променлива в PostgreSQL