【问题标题】:MySQL UNIX_TIMESTAMP for PostgreSQL用于 PostgreSQL 的 MySQL UNIX_TIMESTAMP
【发布时间】:2011-08-17 00:15:57
【问题描述】:

基本上,我正在尝试将数据库中的日期字段转换为几秒前的数据。我在旧的 MySQL 数据库上使用了 UNIX_TIMESTAMP,并且正在寻找 PostgreSQL 中的等效函数。

提前致谢

【问题讨论】:

    标签: mysql sql postgresql timestamp


    【解决方案1】:
    SELECT extract(epoch FROM your_datetime_column)
    FROM your_table
    

    手册中的更多详细信息:

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

    【讨论】:

      【解决方案2】:

      这个:

      select CURRENT_TIMESTAMP - '1970-01-01';
      

      会给你一个interval 类型。如果需要,您可以从该间隔结果中获得秒数。

      【讨论】:

        【解决方案3】:

        我试图说服现有的 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;
        

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2011-01-01
          • 1970-01-01
          • 1970-01-01
          • 2010-10-21
          • 1970-01-01
          • 2013-01-28
          • 1970-01-01
          • 2013-11-23
          相关资源
          最近更新 更多