• PostgreSQL 的日期函数用法举例


    最近偶有开发同事咨询 PostgreSQL 日期函数,对日期处理不太熟悉,今天
    详细看了下手册的日期函数,整理如下,供参考。
        

    一 取当前日期的函数

    --取当前时间
    skytf=> select now();
                  now             
    -------------------------------
     2011-06-03 14:45:43.633466+08
    (1 row)

    skytf=> select current_timestamp;
                  now             
    -------------------------------
     2011-06-03 14:46:58.768399+08

    --取当前时间的日期
    skytf=> select current_date;
        date   
    ------------
     2011-06-03
    (1 row)


    --取当前具体时间 (除去日期)
    skytf=> select current_time;
           timetz      
    --------------------
     14:46:29.404942+08
    (1 row)

    二 日期的加减

    skytf=> select now();
                  now             
    -------------------------------
     2011-06-03 14:54:04.771193+08
    (1 row)


    --表示三天后
    skytf=> select now() + interval '3 day';
               ?column?           
    -------------------------------
     2011-06-06 14:54:06.119683+08
    (1 row)


    --表示三天前
    skytf=> select now() - interval '3 day';
               ?column?           
    -------------------------------
     2011-05-31 14:54:10.060558+08
    (1 row)


    --表示1小时后
    skytf=> select now() + interval '1 hour';
               ?column?           
    -------------------------------
     2011-06-03 15:55:24.600172+08
    (1 row)


    --表示1小时前
    skytf=> select now() - interval '1 hour';
               ?column?           
    -------------------------------
     2011-06-03 13:55:25.799537+08
    (1 row)


    (1 row)

    --表示10分钟后
    skytf=> select now() + interval '10 minutes';
               ?column?           
    -------------------------------
     2011-06-03 15:06:23.363667+08
    (1 row)

    --表示10分钟前
    skytf=> select now() - interval '10 minutes';
               ?column?           
    -------------------------------
     2011-06-03 14:46:13.899526+08
     
      
    三 取时间字段的部分值
      
           在开发过程中,经常要取日期的年,月,日,小时等值,PostgreSQL 提供一个非常便利的EXTRACT函数。
     
    --EXTRACT函数解释
          EXTRACT(field FROM source): field 表示取的时间对象, source 表示取的日期来源,类型为 timestamp。
         下面是一些例子。
      
    --取年份
    skytf=> select extract (year from now());
     date_part
    -----------
          2011
    (1 row)  
      
      
    --取月份  
    skytf=> select extract (month from now());
     date_part
    -----------
             6
    (1 row)  


    --取day
    skytf=> select extract(day from now());
     date_part
    -----------
             3
    (1 row)

    skytf=> select extract(day from timestamp '2011-06-03');
     date_part
    -----------
             3
    (1 row)

    skytf=> select timestamp '2011-06-03';
          timestamp     
    ---------------------
     2011-06-03 00:00:00
    (1 row)


    --取小时
    skytf=> select extract (hour from now());
     date_part
    -----------
            14
    (1 row)


    --取分钟
    skytf=> select extract (minute from now());
     date_part
    -----------
            59
    (1 row)


    --取秒
    skytf=> select extract (second from now());
     date_part
    -----------
     46.039333
    (1 row)


    --取所在哪个星期
    skytf=> select extract (week from now());
     date_part
    -----------
            22
    (1 row)

    四 总结

          上面只是 PostgreSQL 日期函数的基本用法,希望这些对大家应用 PostgreSQL
          起到一定作用。

  • 相关阅读:
    虚拟机安装
    虚拟机简介
    stm32(新建工程)
    高校教室管理系统
    按键抬起有效
    数码管0~9显示
    流水灯程序设计
    P0.0口驱动一个LED闪烁
    Adobe 系列下载链接
    Microsoft 常用下载链接
  • 原文地址:https://www.cnblogs.com/kungfupanda/p/4371327.html
Copyright © 2020-2023  润新知