PostgreSQL动态查询:如何用非固定UNIX时间戳获取近一周数据
实现PostgreSQL动态筛选近一周UNIX时间戳记录
你可以利用PostgreSQL的日期函数动态计算一周前的UNIX时间戳,替换固定数值实现轻量化的动态查询。修改后的SQL语句如下:
SELECT "DATABASE".INCIDENT_NUMBER , "DATABASE".SUBMITTER , "DATABASE".CREATE_DATE , "DATABASE".MODIFIED_DATE , "DATABASE".CLOSED_DATE , "DATABASE".SUBJECT FROM "DATABASE" WHERE EXTRACT(EPOCH FROM NOW() - INTERVAL '1 week') < "DATABASE".CREATE_DATE ORDER BY "DATABASE".INCIDENT_NUMBER, "DATABASE".CREATE_DATE ASC
关键部分说明:
NOW():获取数据库服务器的当前系统时间NOW() - INTERVAL '1 week':计算当前时间往前推7天的时间点EXTRACT(EPOCH FROM ...):将上述时间点转换为UNIX时间戳(以秒为单位的整数),与你的CREATE_DATE字段格式匹配
时区注意事项(可选):
如果你的UNIX时间戳基于UTC标准存储,而数据库服务器使用本地时区,建议明确指定UTC时区避免偏差:
WHERE EXTRACT(EPOCH FROM (NOW() AT TIME ZONE 'UTC') - INTERVAL '1 week') < "DATABASE".CREATE_DATE
内容的提问来源于stack exchange,提问作者liziyo
相关产品推荐
相关产品推荐

