请教pgsql中时间,统计相关的函数,如date

如题所述

1.获取系统时间函数
select now(); --2012-05-12 18:51:59.562+08
select current_timestamp; --2012-05-12 18:52:12.062+08
select current_date; --2012-05-12
select current_time; --18:53:23.234+08
2.时间的计算
--使用interval
select now()+interval '2 day'; --2012-05-14 20:05:32.796+08 2天后
select now()-interval '2 day'; --2012-05-10 20:07:23.265+08 2天前
select now()+interval '2 hour'; --2012-05-12 22:06:38.375+08 2小时后
....

interval可以不写,其值可以是
Abbreviation Meaning
Y Years
M Months (in the date part)
W Weeks
D Days
H Hours
M Minutes (in the time part)
3.时间的截取
--使用extract extract(interval,timestamp);
select extract(year from now()); --2012
select extract(mon from now()); --5 5月份
...

interval值参考上面
4.时间的转换
select timestamp '2012-05-12 18:54:54'; --2012-05-12 18:54:54
select date '2012-05-12 18:54:54'; --2012-05-12
select time '2012-05-12 18:54:54'; --18:54:54
select TIMESTAMP WITH TIME ZONE '2012-05-12 18:54:54'
--2012-05-12 18:54:54+08

--与unix时间戳的转换
SELECT TIMESTAMP 'epoch' + 1341174767 * INTERVAL '1 second';
--2012-07-01 20:32:47
温馨提示:答案为网友推荐,仅供参考
大家正在搜