【问题标题】:extract timestamp from EPOCH cloumn from postgresql DB table从 postgresql DB 表的 EPOCH 列中提取时间戳
【发布时间】:2018-05-01 04:26:31
【问题描述】:

我正在尝试执行下面提到的 PostgreSQL 查询,其中 checkin_ts 采用 epoch 格式,并希望编写一个人类可以理解的查询(以人类可读的格式放置时间戳)。

select * from users where to_timestamp(checkin_ts) >= '2017-11-11 00:00:00'
LIMIT 100;

当我尝试执行上述查询时,我收到以下错误

ERROR:  execute cannot be used while an asynchronous query is underway

【问题讨论】:

  • 向我们展示您的完整代码。您的问题中没有execute(并且错误消息不是 Postgres 错误消息)
  • 您是否将其作为应用程序的一部分运行?如果您手动运行 SQL,您是否能够重现此问题,例如使用psql 或 pgAdmin?您的错误似乎与显示的 SQL 没有任何关系,听起来是您的应用程序错误地使用异步查询的问题。
  • @a_horse_with_no_name 我在 PgAdmin 4 工作台中运行

标签: postgresql epoch


【解决方案1】:

您需要向我们提供您的表格的描述,以了解 checkin_ts 格式。

但是 to_timestamp 需要这样的文本参数:

SELECT * 
  FROM users 
 WHERE to_timestamp(checkin_ts::text, 'YYYY-MM-DD HH24:MI:SS') >= '2017-11-11 00:00:00' LIMIT 100;

您执行此查询的环境是什么? 错误似乎是您尝试使用两个不同的游标在同一连接上执行两个查询。

【讨论】:

  • 我收到以下错误 ERROR: timestamp out of range SQL state: 22008
  • 再说一遍,你的字段 checkin_ts 到底有什么?请给我们一些数据。
  • Piedvache 这是表格说明
  • id |姓名 | checkin_ts
  • 整数 |性格变化|整数
猜你喜欢
  • 1970-01-01
  • 2016-02-13
  • 2020-12-24
  • 2011-09-02
  • 1970-01-01
  • 2013-10-14
  • 2015-01-10
  • 2016-08-10
相关资源
最近更新 更多