查询中的Postgres时间戳格式

时间:2018-06-21 14:52:38

标签: postgresql

我正在将具有自己的ORM的代码从Db2迁移到postgres。我有一个查询,在postgres 10上执行以下sql-

SELECT * FROM TriggerQueue 
WHERE  TriggerQueue.atServerStartup = 'Y' 
AND (TriggerQueue.scheduledatetime > '2018-06-21 20.02.57.827' OR 
TriggerQueue.scheduleDateTime is null) AND TriggerQueue.inputQueue = 'N'

但是pgadmin显示以下错误:

ERROR:  invalid input syntax for type timestamp: "2018-06-21 
20.02.57.827"
LINE 3: AND (TriggerQueue.scheduledatetime > '2018-06-21 20.02.57.8...
                                             ^
SQL state: 22007

我猜测基于sql状态的时间戳格式是错误的,但是我不确定如何格式化该值。任何对此的见解将非常有帮助。

EDIT:pg中的时间戳字段是没有时区的时间戳类型。 Pgadmin显示大小为6。

1 个答案:

答案 0 :(得分:3)

使用适当的timestamp literal

timestamp '2018-06-21 20:02:57.827'

请注意:要将小时,分钟和秒分开