【发布时间】:2011-08-17 00:15:57
【问题描述】:
基本上,我正在尝试将数据库中的日期字段转换为几秒前的数据。我在旧的 MySQL 数据库上使用了 UNIX_TIMESTAMP,并且正在寻找 PostgreSQL 中的等效函数。
提前致谢
【问题讨论】:
标签: mysql sql postgresql timestamp
基本上,我正在尝试将数据库中的日期字段转换为几秒前的数据。我在旧的 MySQL 数据库上使用了 UNIX_TIMESTAMP,并且正在寻找 PostgreSQL 中的等效函数。
提前致谢
【问题讨论】:
标签: mysql sql postgresql timestamp
SELECT extract(epoch FROM your_datetime_column)
FROM your_table
手册中的更多详细信息:
http://www.postgresql.org/docs/current/static/functions-datetime.html#FUNCTIONS-DATETIME-EXTRACT
【讨论】:
这个:
select CURRENT_TIMESTAMP - '1970-01-01';
会给你一个interval 类型。如果需要,您可以从该间隔结果中获得秒数。
【讨论】:
我试图说服现有的 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;
【讨论】: