最近偶有开发同事咨询 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
      起到一定作用。

PostgreSQL 的日期函数用法举例的更多相关文章

  1. 【转】awk 里的substr函数用法举例

    awk 里的substr函数用法举例: 要截取的内容:2007-08-04 04:45:03.084 - SuccessfulTradeResult(status: 1, currencyPair: ...

  2. Sql server日期函数用法

    SQL日期函数 SQL日期函数中的类型码可以为0,1,2,3,4,5,6,7,8,9,10,11,12,13,14 ,20,21,22,23,24,25,100,101,102,103,104,105 ...

  3. SQLServer日期函数用法

    --1.显示本月第一天 ,) ),)) --2.显示本月最后一天 ,),,))) ,,,)) --3.上个月的最后一天 ,,)) --4.本月的第一个星期一 , ) --5.本年的第一天 ,) --6 ...

  4. c++ 字符串函数用法举例

    1. substr() 2. replace() 例子:split() 字符串切割: substr 函数原型: , size_t n = npos ) const; 解释:抽取字符串中从pos(默认为 ...

  5. js 日期函数用法总结

    1 创建Date对象,用于处理日期和时间 var date=new Date(); Date对象会把当前日期和时间保存为初始值. 还可以设置其它参数初始化 Date对象: new Date(" ...

  6. Oracle中的4大空值处理函数用法举例

    nvl(exp1,exp2):                           如果exp1为空,则返回exp2:否则返回exp1nvl2(exp1,exp2,exp3):             ...

  7. iframe调用父页面函数用法举例

    iframe如何调用父页面函数. window.parent.xxxxx();//xxxxx()代表父页面方法具体列子如下,其中包括easyUI的右键和单击事件parent.jspbody部分代码 & ...

  8. PostgreSQL的时间/日期函数使用

    PostgreSQL的常用时间函数使用整理如下: 一.获取系统时间函数 1.1 获取当前完整时间 select now(); david=# select now(); now ----------- ...

  9. [转] PostgreSQL的时间/日期函数使用

    PS:http://blog.csdn.net/love_rongrong/article/details/6712883 字符串模糊比较 日期类型的模糊查询是不能直接进行的,要先转换成字符串然后再查 ...

随机推荐

  1. 机器学习之逻辑回归(logistic回归)

    前言            以下内容是个人学习之后的感悟,转载请注明出处~ 逻辑回归 一.为什么使用logistic回归   一般来说,回归不用在分类问题上,因为回归是连续型模型,而且受噪声影响比较大 ...

  2. Bean的基于注解的配置方式

    Boss.class import javax.annotation.PostConstruct; import javax.annotation.PreDestroy; import javax.a ...

  3. c/c++面试19-22----inline的那些事儿

    19 为什么引入内联函数 a:宏定义为什么效率高 通常替代c语言中表达式形式的宏定义来解决程序函数调用问题,使用的是预处理器实现,没有参数压栈等到做. 缺点: (1) 仅仅进行简单的替换,不能进行参数 ...

  4. TypeScript完全解读(26课时)_7.ES6精讲 - 类Class基础

    ES6精讲 - 类Class基础 es5中创建构造函数和实例 原来在es5中的写法 定义好Point后,在原型对象上定义getPostion的方法 实例自身是没有这个方法的,我们调用的时候会去创建他的 ...

  5. Flutter实战视频-移动电商-56.购物车_商品数量控制区域制作

    56.购物车_商品数量控制区域制作 主要做购物车中的数量这里 cart_page文件夹下新建cart_count.dart 减少按钮 因为会有点击事件,所以这里我们使用InkWell. child里面 ...

  6. ZOJ3166【找环值最小】

    题意: 给你一幅图,要你找一个hotel能够满足出去回来,而且保证权值最小: 思路: 可以搜环,然后取最小权值环,拿个点: floyd方便,初始话自己到自己就是无穷,然后就枚举一下给出的hotel就好 ...

  7. Codeforces Round #375 (Div. 2)【A,B【模拟】,D【DFS】】

    PS_B:阿洗吧!B题卧槽数组开了250... PS_D:D题主要挂在了50*50口算得了250,数组开小,然后一开始还错了.= =哎,以后对于数据范围还是注意一点: 卧槽,这场可真二百五了... A ...

  8. atcoder#073D(枚舉)

    題目鏈接: http://arc073.contest.atcoder.jp/tasks/arc073_b 題意: 給出n, m兩個數, n是物品數目, m是背包容量, 接下來n行輸入, wi, vi ...

  9. 最简大数据Spark-2.1.0

    0.0 前言 本文主要基于最新的Spark 2.1.0版本.阅读本文可以对Spark 2.1.0的学习过程,运行流程,关键组件,原理有所了解.文章有点长,你也可以直接阅读感兴趣的部分,但是还是建议全面 ...

  10. RPC入门

    在校期间大家都写过不少程序,比如写个hello world服务类,然后本地调用下,如下所示.这些程序的特点是服务消费方和服务提供方是本地调用关系. 而一旦踏入公司尤其是大型互联网公司就会发现,公司的系 ...