postgres 时间差计算

  • 显示当前时间

    select now()
                  now
    -------------------------------
     2019-10-19 01:03:13.525727+08
    (1 行记录)
  • 计算时间差

    • date_part()函数。可以直接返回日期单独部分

      select date_part('day',now())
      
       date_part
      -----------
              19
      (1 行记录)
      • 作用:计算年差、月差、日差、小时差、分钟差等

        select date_part('day',now()-create_time) from t_test (实际应用,看具体输出)
        
        select date_part('day',now()::timestamp-'2018-01-10 10:12:15::timestamp')
         date_part
        -----------
               646
        (1 行记录)
    • extract()函数计算时间差

      select extract(day from now()-create_time) from t_test;
    • 时间加减

      select now();
                    now
      -------------------------------
       2019-10-19 01:11:24.264592+08
      (1 行记录)
      select now()-interval '2 day';
                 ?column?
      -------------------------------
       2019-10-17 01:11:24.264592+08
      (1 行记录)
      select now()+interval '2 month';
                 ?column?
      -------------------------------
       2019-12-19 01:11:24.264592+08
      (1 行记录)
    • 计算本月/周第一天

    select date_trunc('month',now());
           date_trunc
    ------------------------
     2019-10-01 00:00:00+08
    (1 行记录)
    
    select date_trunc('week',now());
           date_trunc
    ------------------------
     2019-10-14 00:00:00+08
    (1 行记录)
  • 时间单位

    • 年:year
    • 月:month(0-11)
    • 秒:second
    • 分钟:minutes (0-59)
  • 参考文档:

    postgresql时间差计算

猜你喜欢

转载自www.cnblogs.com/MyUniverse/p/11701627.html