最近偶有开发同事咨询 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. 推荐 BI Work

    推荐阅读 BI Work 的文章,作为学习用 http://www.cnblogs.com/biwork

  2. HDOJ-2045

    不容易系列之(3)—— LELE的RPG难题 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/O ...

  3. 1.7 hive基本操作

    一.基本命令和设置 1.命令 [root@hadoop-senior hive-0.13.1]# bin/hive Logging initialized using configuration in ...

  4. mock api

    模客:http://mock-api.com/ easy-mock:https://www.easy-mock.com/ easy-mock动不动就挂了,而且用起来特别卡,不知道为什么那么多人推荐-_ ...

  5. AndroidStudio关联GitHub

    1.前提: 1.已有github账号和密码 github官方网站:https://github.com/ 2.下载了git客户端 客户端下载地址:http://pan.baidu.com/s/1slV ...

  6. Spring Boot 创建自定义的properties文件

    以IDEA2018为例,在资源文件夹上点击鼠标右键,依次选择 New -> Resource Bundle ,如下图: 在弹出的对话框中,填写properties文件的名称(不用填写.prope ...

  7. 选择Go语言的12个理由

    编者按:多核化和集群化是互联网时代的典型特征,那语言需要哪些特性来应对这些特征呢?多数语言在语法层面并不直接支持协程,而通过库的方式支持的协程的功能也并不完整,比如仅仅提供协程的创建.销毁与切换等能力 ...

  8. SpringMvc源码入门

    servlet httpServletRequest httpServlet

  9. C 语言实例 - 计算两个时间段的差值

    C 语言实例 - 计算两个时间段的差值 C 语言实例 C 语言实例 计算两个时间段的差值. 实例 #include <stdio.h> struct TIME { int seconds; ...

  10. Csc”任务不支持“SharedCompilationId”参数。请确认该参数存在于此任务中,并且是可设置的公共实例属性

    今天.NetCore2.1版本,建立Asp.net Core web应用程序项目时,报以下错误: 未能使用“Csc”任务的输入参数初始化该任务. “Csc”任务不支持“SharedCompilatio ...