【发布时间】:2018-09-18 06:04:34
【问题描述】:
我有一列 _action_date 是 bigint 类型。
其中存储的示例数据为:
1,530,402,820,197,192
我想将日期转换为没有时区格式的时间戳。
我尝试了 to_timestamp() 方法,但它对于 bigint 失败。 然后我将它除以 1000000 以消除毫秒部分。 但那我的日期是错误的。
请帮我解决问题。
我使用在线纪元转换器对其进行了转换,它给了我这个结果。
GMT: Saturday, 30 June 2018 23:53:40
Your time zone: Sunday, 1 July 2018 05:23:40 GMT+05:30
我想要同样的结果。
我正在使用 Amazon Redshift
【问题讨论】:
-
TO_CHAR(TO_TIMESTAMP(bigint_field / 1000), 'DD/MM/YYYY HH24:MI:SS') 请试试这个。来自stackoverflow.com/questions/5485502/…
-
@VishnuVaNnEr我在运行您的查询后收到此错误:运行查询时出错:函数 to_timestamp(bigint) 不存在提示:没有函数与给定的名称和参数类型匹配。您可能需要添加显式类型转换。
-
需要强制转换,函数为
to_timestamp(double precision) -
1,530,402,820,197,192不是一个有效的“bigint”开头 -
亚马逊不“支持” Postgres。亚马逊采用 Postgres 8.0 的代码并独立于“真正的” Postgres 代码继续开发,并且从不费心将核心 Postgres 开发的增强功能集成回他们的产品中。这是两种不同的产品,而且它们仍然将版本显示为“PostgreSQL”(甚至 JDBC 驱动程序都假装它是 Postgres 数据库),这非常烦人
标签: sql amazon-redshift