【发布时间】:2019-02-06 11:23:57
【问题描述】:
我正在尝试从表中选择日期为 2018 年 12 月 1 日的记录。 即使有几条记录,postgres 也没有返回任何记录。
查询:
select *
from dbo."Transactions"
where "DateOfTransaction"::timestamp >=to_date('01-12-2018', 'dd-mm-yyyy')
and "DateOfTransaction"::timestamp <=to_date('01-12-2018', 'dd-mm-yyyy')
我也试过了:
select *
from dbo."Transactions"
where "DateOfTransaction"::timestamp >=to_date('01-12-2018 00:00:00', 'dd-mm-yyyy HH24:MI:SS')
and "DateOfTransaction"::timestamp <=to_date('01-12-2018 23:59:59', 'dd-mm-yyyy HH24:MI:SS')
这种奇怪行为的原因是什么? 我必须在 where 条件下以 dd-mm-yyyy 格式给出日期。
【问题讨论】:
-
你真的应该避免那些可怕的引用标识符。它们造成的麻烦远远超过了它的价值。
-
您真的还在使用 Postgres 9.1 吗?那是no longer supported - 您现在应该计划升级到受支持的版本(例如 Postgres 11)。
标签: sql postgresql postgresql-9.1