从 postgresql DB 表的 EPOCH 列中提取时间戳
Posted
技术标签:
【中文标题】从 postgresql DB 表的 EPOCH 列中提取时间戳【英文标题】:extract timestamp from EPOCH cloumn from postgresql DB table 【发布时间】: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 工作台中运行
【参考方案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 整数 |性格变化|整数以上是关于从 postgresql DB 表的 EPOCH 列中提取时间戳的主要内容,如果未能解决你的问题,请参考以下文章
Qt 时间戳从 Epoch(1970) 到 2000 年开始的 Postgresql 时间戳。如何添加偏移量并将毫秒转换为微秒?
从 PostgreSQL 到 Cassandra - 不支持聚合函数
在 PostgreSQL 中为特定模式和表所有者创建表的过程是啥