首页 > 解决方案 > PostgreSQL 时间戳语法

问题描述

SELECT * FROM items WHERE created_time >= 20210505143012999

在 mySQL 上,我们可以给出类似的条件WHERE created_time >= 20210505143012999

但是,我想在 PostgreSQL 上以类似的格式(20210505143012999)找到它。我该怎么做?

标签: postgresql

解决方案


似乎 mySQL 对数据类型有点松懈(或者可能只是更宽容),在 Postgres 中,您的值只是一个数字(bigint)。您需要使用to_timestamp函数对其进行转换。但作为一个时代,Postgres 似乎不喜欢它,它也似乎不是一个时代。您可以预先转换为字符串,然后使用 to_timestamp 将其转换为函数参数中的测试。无论哪种方式指定格式:(见演示

select to_timestamp ('20210505143012999', 'yyyymmddhh24missms');

select to_timestamp (20210505143012999::text, 'yyyymmddhh24missms');

推荐阅读