最近偶有开发同事咨询 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. Word2013 在一个页面双列显示

    1. 效果图 2. 实现方法 (1) 进入页面布局 (2) 选中要整理的字,选中Columns,然后选择Two

  2. Python深入浅出property特性属性

    导语 在Java中,通常在类中定义的成员变量为私有变量,在类的实例中不能直接通过对象.属性直接操作,而是要通过getter和setter来操作私有变量. 而在Python中,因为有property这个 ...

  3. opencv MatExpr MatOp

    opencv提供了很多Mat的操作,其中涉及到两个重要的类:MatOp和MatExpr C++: MatExpr abs(const Mat& m) C++: void absdiff(Inp ...

  4. spring中的依赖注入

    Ioc的作用: 降低程序间的耦合(依赖关系) 依赖关系的管理: 以后都交给Spring来维护 在当前类需要用到其他类的对象,由Spring为我们提供, 我们只需要在配置文件中说明 依赖关系的维护,就称 ...

  5. 2014-7-17 NOIP模拟赛

    czy的后宫3(莫队) [题目描述] 上次czy在机房妥善安排了他的后宫之后,他发现可以将他的妹子分为c种,他经常会考虑这样一个问题:在[l,r]的妹子中间,能挑选出多少不同类型的妹子呢? 注意:由于 ...

  6. solr IK分词器

    1.把IK文件夹上传到服务器tmp文件夹 2.把需要的jar导入到solr项目中 # cp IKAnalyzer2012FF_u1.jar /usr/local/solr/tomcat/webapps ...

  7. 两段代码实现vue路由懒加载

    const Foo = () => import('./Foo.vue') const router = new VueRouter({ routes: [ { path: '/foo', co ...

  8. asyncio模块

    asyncio模块   这是官网也非常推荐的一个实现高并发的一个模块,python也是在python 3.4中引入了协程的概念. asyncio 是干什么的? 异步网络操作 并发 协程 python3 ...

  9. Codeforces 1137B(kmp next数组构造)

    为了物尽其用,Next求出最多有哪部分能重复使用,然后重复使用就行了-- const int maxn = 5e5 + 5; char s[maxn], t[maxn]; int cnts0, cnt ...

  10. p标签中的文本换行

    参考文章 word-break:break-all和word-wrap:break-word的区别 CSS自动换行.强制不换行.强制断行.超出显示省略号 属性介绍 white-space: 如何处理元 ...