Postgresql 在postgres中选择日期时间

Postgresql 在postgres中选择日期时间,postgresql,datetime,select,Postgresql,Datetime,Select,这里肯定缺少一些很简单的东西。也许有人能回答这个问题。您要选择从日期时间戳到现在。为什么where子句对此不返回任何内容 从xyz中选择*,其中('2020-01-29 04:18:00-06'::timestamptz>当前时间戳); 什么时候 在PostgreSQL中,获取从某个时间到当前时间的每一行以查看添加的内容或新的/更改的内容应该没有那么困难 在这里的帮助下,我找到了这个问题的答案。第一次尝试我没有张贴是使用之间。应该这样使用。需要从where子句中删除时间戳并在之间使用 TABL

这里肯定缺少一些很简单的东西。也许有人能回答这个问题。您要选择从日期时间戳到现在。为什么where子句对此不返回任何内容

从xyz中选择*,其中('2020-01-29 04:18:00-06'::timestamptz>当前时间戳);
什么时候

在PostgreSQL中,获取从某个时间到当前时间的每一行以查看添加的内容或新的/更改的内容应该没有那么困难

在这里的帮助下,我找到了这个问题的答案。第一次尝试我没有张贴是使用之间。应该这样使用。需要从where子句中删除时间戳并在之间使用

TABLENAME.COL-NAME-FOR-TIMESTAMP BETWEEN '2020-01-29 04:18:00-06' AND CURRENT_TIMESTAMP
TABLENAME.COL-NAME-FOR-TIMESTAMP应该是您为datetime引用的表中的列


希望这对别人有帮助

原因是,您当前的时间戳,即您的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服务器设置为某个时区,因此您应该对此进行研究。

04:18
不大于
04:47
因此该条件未满足。您将如何在2020-01-29 04:18:00-06到当前时间之前获得行?时区设置为6,就像时区一样,我尝试引用的所有数据都在6中。。。。我想弄明白的是,当结果有很多行是有效的时,为什么结果返回为零。。。timestamptz应该转换为可以与当前时间戳进行比较的内容。。。我不明白为什么这不起作用…
4:18
AM早于
4:47
AM将是在某个时间到当前时间后获得所有结果的解决方案?使用
BETWEEN和current_TIMESTAMP
BETWEEN'2020-01-29 04:18:00-06':TIMESTAMP z和current_TIMESTAMP在固定时间开始时返回错误约会!这也是我几天前第一次尝试。
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;