MySQL UNIX_TIMESTAMP для PostgreSQL - PullRequest
4 голосов
/ 02 мая 2011

В основном я пытаюсь преобразовать поле даты из моей базы данных в количество секунд.Я использовал UNIX_TIMESTAMP в нашей старой базе данных MySQL и ищу эквивалентную функцию в PostgreSQL.

Заранее спасибо

Ответы [ 3 ]

13 голосов
/ 02 мая 2011
SELECT extract(epoch FROM your_datetime_column)
FROM your_table

Подробнее в руководстве:

http://www.postgresql.org/docs/current/static/functions-datetime.html#FUNCTIONS-DATETIME-EXTRACT

1 голос
/ 02 мая 2011

Это:

select CURRENT_TIMESTAMP - '1970-01-01';

Даст вам тип interval.Вы можете получить секунды из этого интервала, если вам это нужно.

0 голосов
/ 10 октября 2018

Я пытаюсь убедить существующие запросы MySQL работать, это то, что у меня, мне кажется, работает нормально.

CREATE OR REPLACE FUNCTION UNIX_TIMESTAMP(date_field timestamp with time zone) RETURNS integer 
AS $$
BEGIN
    RETURN extract(epoch FROM date_field);
END;
$$ LANGUAGE plpgsql;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...