Распечатайте временную метку как число, не читаемое человеком - PullRequest
0 голосов
/ 07 мая 2010

Мне нужна командная строка, которая работает с psql и делает:

psql database -c "select date_trunc('day', start) as date, avg(finish - start) as duration from things group by date order by date;"

Но проблема в том, что это дает мне читабельный вывод, иначе:

    date         |    duration
---------------------+-----------------
 2010-01-11 00:00:00 | 00:24:13.826822
 2010-01-12 00:00:00 | 00:15:42.984878
 2010-01-13 00:00:00 | 00:15:37.117834
 2010-01-14 00:00:00 | 00:13:27.868552
 2010-01-15 00:00:00 | 00:09:16.018057
 2010-01-16 00:00:00 | 00:06:39.213929

То, что я хочу, это временные метки Unix в секундах (или миллисекундах) как целые числа с обеих сторон. Я прочитал документацию, но не могу понять это.

1 Ответ

1 голос
/ 07 мая 2010

Я читал, что вы можете сделать это с

SELECT date_part('epoch', now()) 

указать метку времени Unix

Так в вашем случае

SELECT date_part('epoch', date_trunc('day', start) as date), 
       date_part('epoch', avg(finish - start)) as duration 
FROM things 
GROUP by date 
ORDER by date;

См. Дата и время, функции и операции в postgres

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...