当前位置:   article > 正文

postgresql在时间计算上的方法_postgresql 时间计算

postgresql 时间计算

转自https://www.jianshu.com/p/dce269262793

记一笔postgresql在时间计算上的方法。

  1. 计算时间差
    date_part() 函数用于返回日期/时间的单独部分,比如年、月、日、小时、分钟等等。
  1. select now()
  2. ---------------------
  3. 2018-02-01 15:49:15
  4. select date_part('year',now())
  5. ---------------------
  6. 2018
  7. select date_part('day',now())
  8. ---------------------
  9. 1

因此,可以通过date_part计算两个时间相差几天,几分钟,几秒钟等。

  1. select date_part('day','2018-01-31 15:49:15'::timestamp-'2018-01-10 10:12:15'::timestamp)
  2. ---------------------
  3. 21
  1. 时间加减
  1. 时间加减两天(同理,可以加减几个月,几分等等)
  2. select now()-interval '2 day'
  3. ---------------------
  4. 2018-01-30 16:04:05
  5. select now()+interval '2 day'
  6. ---------------------
  7. 2018-02-03 16:04:05
  1. 计算本周第一天,本月第一天 :date_trunc

说明:DATE_TRUNC 函数根据您指定的日期部分(如小时、周或月)截断时间戳表达式或文本。DATE_TRUNC 返回指定的年的第一天、指定的月的第一天或指定的周的星期一。

  1. select date_trunc('month',now())
  2. ---------------------
  3. 2018-02-01 00:00:00
  4. select date_trunc('week',now())
  5. ---------------------
  6. 2018-01-29 00:00:00

在计算最近几个月,最近几天,最近几个星期的数据时用到
例如:求最近3个月创建的销售量

select sum(sales) sales from t_sale where create_time>date_trunc('week',now()-interval '2 mon')

时间单位:
year :年
week :该天在所在的年份里是第几周
timezone_minute:时区偏移量的分钟部分
timezone_hour:时区偏移量的小时部分
timezone:与UTC的时区偏移量,以秒记。正数对应 UTC 东边的时区,负数对应 UTC 西边的时区
second :秒
quarter:日期中年所在季度(1-4)
month:月(0-11)
minute:分钟(0-59)
milliseconds:
isodow:周中的第几天 [1-7] 星期一:1) 星期天:(7)
dow:周中天的索引(0-6 ;星期天是 0)
doy:一年的第几天(1-365/366)
hour:小时(0-23)
day: 天(1-31)



作者:乌托邦缤果
链接:https://www.jianshu.com/p/dce269262793
来源:简书
简书著作权归作者所有,任何形式的转载都请联系作者获得授权并注明出处。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/AllinToyou/article/detail/696092
推荐阅读
相关标签
  

闽ICP备14008679号