【问题标题】:Postgresql timestampsPostgresql 时间戳
【发布时间】:2017-08-14 18:40:07
【问题描述】:

目前我有一列时间戳显示了这一点: 2016 年 8 月 2 日星期二下午 1:00

这些时间戳不限于 1 个日期,而是显示具有不同时间的各种日期。我想做的是编辑这些时间戳,如果显示的时间超过一天中的晚上 10:20,我想将时间部分更改为晚上 10:20

示例: 2016 年 8 月 2 日星期二 23:21 PM 更改为 2016 年 8 月 2 日星期二 22:20 PM 2016 年 8 月 3 日星期二下午 1:00 没有变化

基本上,当天超过 22:20 的任何时间都会修改为 22:20,而之前的任何时间都将保持原样。

【问题讨论】:

  • 看看这部分手册:postgresql.org/docs/9.6/static/… 那里有很多关于操纵日期的好信息。基本上提取时间分量并将其与 22:20 进行比较,然后如果结束,则创建一个具有 22:20 时间的新日期,并将其添加到提取的日期中。

标签: postgresql timestamp


【解决方案1】:
update table1 
   set ts = date_trunc('day', ts) + '22:20:00'::interval
   where ts - date_trunc('day', ts) > '22:20:00'::interval

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-05-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-08-20
    • 1970-01-01
    • 1970-01-01
    • 2017-07-04
    相关资源
    最近更新 更多