【问题标题】:Postgres timestamp formatting in query查询中的 Postgres 时间戳格式
【发布时间】:2018-06-21 22:57:46
【问题描述】:

我正在将带有自己的 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 状态猜测时间戳格式是错误的,但我不确定如何格式化该值。对此的任何见解都会非常有帮助。

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

【问题讨论】:

    标签: postgresql


    【解决方案1】:

    使用正确的timestamp literal:

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

    注意: 以分隔小时、分钟和秒

    【讨论】:

      猜你喜欢
      • 2017-07-17
      • 2017-08-15
      • 1970-01-01
      • 1970-01-01
      • 2014-08-21
      • 2018-07-15
      • 2012-12-09
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多