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
起到一定作用。
PostgreSQL 的日期函数用法举例的更多相关文章
- 【转】awk 里的substr函数用法举例
awk 里的substr函数用法举例: 要截取的内容:2007-08-04 04:45:03.084 - SuccessfulTradeResult(status: 1, currencyPair: ...
- 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 ...
- SQLServer日期函数用法
--1.显示本月第一天 ,) ),)) --2.显示本月最后一天 ,),,))) ,,,)) --3.上个月的最后一天 ,,)) --4.本月的第一个星期一 , ) --5.本年的第一天 ,) --6 ...
- c++ 字符串函数用法举例
1. substr() 2. replace() 例子:split() 字符串切割: substr 函数原型: , size_t n = npos ) const; 解释:抽取字符串中从pos(默认为 ...
- js 日期函数用法总结
1 创建Date对象,用于处理日期和时间 var date=new Date(); Date对象会把当前日期和时间保存为初始值. 还可以设置其它参数初始化 Date对象: new Date(" ...
- Oracle中的4大空值处理函数用法举例
nvl(exp1,exp2): 如果exp1为空,则返回exp2:否则返回exp1nvl2(exp1,exp2,exp3): ...
- iframe调用父页面函数用法举例
iframe如何调用父页面函数. window.parent.xxxxx();//xxxxx()代表父页面方法具体列子如下,其中包括easyUI的右键和单击事件parent.jspbody部分代码 & ...
- PostgreSQL的时间/日期函数使用
PostgreSQL的常用时间函数使用整理如下: 一.获取系统时间函数 1.1 获取当前完整时间 select now(); david=# select now(); now ----------- ...
- [转] PostgreSQL的时间/日期函数使用
PS:http://blog.csdn.net/love_rongrong/article/details/6712883 字符串模糊比较 日期类型的模糊查询是不能直接进行的,要先转换成字符串然后再查 ...
随机推荐
- 【旧文章搬运】为什么win32k.sys在System进程空间无法访问
原文发表于百度空间,2010-01-02========================================================================== 玩过Sha ...
- 华为G700电脑版Root软件-Eroot
华为G700电脑版Root软件--eroot.zip(10.5M) 查阅全文 ›
- 文本编辑器[notepad++] :一些快捷键
资源来自网络收集. Ctrl+C 复制 Ctrl+X 剪切 Ctrl+V 粘贴 Ctrl+Z 撤消 Ctrl+Y 恢复 Ctrl+A 全选 Ctrl+F 键查找对话框启动 Ctrl+H 查找/替换对话 ...
- HDOJ-1280
前m大的数 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Submi ...
- 02-安装JDK - Java快速入门
jdk安装的版本
- 《剑指offer》面试题16—反转链表
Node* p1 p2 p3 思路:开始时,p1为NULL,p2=phead,p3=p2—>next.使p2—>next = p1,然后使p1=p2,p2=p3.如果只有1个结点则此时 ...
- ZOJ3163【思维题】
每天取最远的那面 int main() { init(); int n,x,y; while(~scanf("%d%d%d",&n,&x,&y)) prin ...
- 51nod1459【二级最短路】
标签说的是BFS... 太菜,不知道怎么BFS...是不是spfa写,就叫BFS...感觉不是.... 只是二级最短路的写法,直接搞就很容易了,简单题: #include <bits/stdc+ ...
- Unity3D命令行Build
转自:http://www.cnblogs.com/gameprogram/archive/2012/05/11/2496303.html 本来是没想用这个命令行Build方式,可惜电脑不知道怎么的就 ...
- C++函数调用过程深入分析
http://blog.csdn.net/dongtingzhizi/article/details/6680050 0. 引言 函数调用的过程实际上也就是一个中断的过程,那么C++中到底是怎样实现一 ...