postgresql - 在 postgres 中选择日期时间
问题描述
必须在这里遗漏一些非常简单的东西。也许有人可以回答这个问题。您想从日期时间戳中选择到现在。为什么 where 子句不返回任何内容?
select * from xyz where ('2020-01-29 04:18:00-06'::timestamptz > CURRENT_TIMESTAMP);
什么时候
select CURRENT_TIMESTAMP;
current_timestamp
-------------------------------
2020-01-29 04:47:06.011133-06
(1 row)
Time: 0.258 ms
在 PostgreSQL 中获取从某个时间到当前时间的每一行以查看已添加或新/更改的内容应该不难。
我在这里的帮助下找到了这个问题的答案。我没有发布的第一次尝试是在使用之间。应该是这样使用的。需要从 where 子句中删除时间戳并使用 BETWEEN!
TABLENAME.COL-NAME-FOR-TIMESTAMP BETWEEN '2020-01-29 04:18:00-06' AND CURRENT_TIMESTAMP
TABLENAME.COL-NAME-FOR-TIMESTAMP 应该是您为日期时间引用的表中的列。
希望这对某人有帮助!
解决方案
解释是您当前的时间戳(在您的 Postgres 服务器的时区中)已于 2020 年 1 月 29 日凌晨 4:18 过去。尝试将您的时区设置为应该使您当前的查询通过的时间,例如
SET timezone = 'America/Los_Angeles'; -- 2:58 AM as of the time this answer was posted
SELECT * FROM xyz WHERE '2020-01-29 04:18:00-06'::timestamptz > CURRENT_TIMESTAMP;
我怀疑这里的疑问是您希望您的 Postgres 服务器设置为某个时区,因此您应该对此进行调查。
推荐阅读
- python - How to execute python file from other directory?
- excel - 将文件保存在超链接后面
- github - 如何在 Red Hat OpenShift 中配置 GitHub Webhook URL?
- docker - 将当前本地 ip 传递给 docker-compose 中的 dnsmasq 命令
- android - Android,Qt,如何启动“hello world”服务
- python - 按级别顺序打印树的内容,使用 eval 函数读取 python 中的输入树
- daml - 访问 DAML 模板中的变量,就像在对象中一样
- php - 如何将 ajax 数据存储在 php 变量中并重用它?
- java - 如何排列 Java GUI 按钮?
- javascript - 检查属性与检查函数的返回值的性能是什么?