postgresql——日期时间函数
admin
2023-05-21 01:22:12
0

日期和时间函数:

   日期和时间函数主要用来处理日期和时间值,一般的日期函数除了使用date类型的参数外,也可以使用datetime或者timestamp类型,但会忽略这些值的时间部分。相同的以time类型值为参数的函数,可以接受timestamp类型的参数,但会忽略日期部分。


1、获取当前日期的函数和获取当前时间的函数:current_date和current_time

current_date函数:的作用是将当前日期按照“YYYY-MM-DD”格式的值返回,具体格式根据函数用在字符串或是数字语境中而定的。

current_time函数:的作用是将当前时间以“HH:MM:SS”的格式返回,具体格式根据函数用在字符串或是数字语境中而定的。


例子:

testdb=# select current_date;

    date    

------------

 2018-06-24

(1 row)


testdb=# select current_time;

       timetz       

--------------------

 02:15:58.108822-04

(1 row)


2、获取当前日期和时间的函数:current_timestamp、localtimestamp、和now()三个函数的作用相同,均是返回当前日期和时间值,格式为:“YYYY-MM-DD HH:MM:SS”或YYYYMMDDHHMMSS,具体格式根据函数是否在字符串或数字语境中而定。


例子:

testdb=# select current_timestamp,localtimestamp,now();

              now              |         timestamp          |              now              

-------------------------------+----------------------------+-------------------------------

 2018-06-24 02:18:46.701219-04 | 2018-06-24 02:18:46.701219 | 2018-06-24 02:18:46.701219-04

(1 row)


3、获取日期指定值的函数:extract(type  from  date)

extract(type  from  date)函数从日期中提取一部分,而不是执行日期运算。


例子:使用extract函数从日期中提取日份,如:

testdb=# select extract(day from timestamp '2018-08-15 12:10:10');

 date_part 

-----------

        15

(1 row)


例子:使用extract函数从日期中提取月份,如:

testdb=# select extract(month from timestamp '2018-08-15 12:10:10');

 date_part 

-----------

         8

(1 row)


例子:使用extract函数从日期中提取年份,如:

testdb=# select extract(year from timestamp '2018-08-15 12:10:10');

 date_part 

-----------

      2018

(1 row)


例子:使用extract函数查询指定日期是一年中的第几天,如:

testdb=# select extract(doy from timestamp '2018-08-15 12:10:10');

 date_part 

-----------

       227

(1 row)


例子:使用extract函数查询指定日期是一周中的星期几,如:

testdb=# select extract(dow from timestamp '2018-08-15 12:10:10');

 date_part 

-----------

         3

(1 row)


例子:使用extract函数查询指定日期是该年的第几季度,如:

testdb=# select extract(quarter from timestamp '2018-08-15 12:10:10');

 date_part 

-----------

         3

(1 row)



4、日期和时间的运算操作:

日期和时间可以有:加、减、乘、除的运算操作。


例子:指定日期加运算:+10日后的日期

testdb=# select date '2018-08-15' + integer '10';

  ?column?  

------------

 2018-08-25

(1 row)


例子:指定日期加上间隔小时,+3小时

testdb=# select date '2018-08-15' + interval '3 hour';

      ?column?       

---------------------

 2018-08-15 03:00:00

(1 row)


例子:指定日期加上指定时间后的结果,如:

testdb=# select date '2018-08-15' + time '06:00';

      ?column?       

---------------------

 2018-08-15 06:00:00

(1 row)


例子:指定日期和时间加上间隔时间后的结果:

testdb=# select timestamp '2018-08-15 02:00:00' + interval '10 hours';

      ?column?       

---------------------

 2018-08-15 12:00:00

(1 row)



例子:指定日期之间的间隔天数,如:

testdb=# select date '2018-08-15' - date '2018-07-10';

 ?column? 

----------

       36

(1 row)


例子:指定日期减去间隔天数后的结果,如:

testdb=# select date '2018-08-15' - integer '10';

  ?column?  

------------

 2018-08-05

(1 row)


例子:计算整数与天数相乘的结果,如:

testdb=# select 15 * interval '2 day';

 ?column? 

----------

 30 days

(1 row)


例子:计算整数与秒数相乘的结果,如:

testdb=# select 50 * interval '2 second';

 ?column? 

----------

 00:01:40

(1 row)


例子:计算小时数与整数相乘的结果,如:

testdb=# select interval '1 hour' / integer '2';

 ?column? 

----------

 00:30:00

(1 row)


相关内容

热门资讯

在白令海峡修超级大坝,能减缓欧... 位于美国阿拉斯加和俄罗斯之间的白令海峡,在冰河时期曾是连接亚洲和美洲大陆的“陆桥”。近日研究发现,这...
原创 I... iQOO Z系列在海外好像要提速了。最近有个型号叫I2510的新机,就是iQOO Z11 Lite ...
国家统计局评价当前经济形势:保... 【大河财立方消息】5月18日,国新办举行新闻发布会,介绍2026年4月份国民经济运行情况。会上,有记...
5·18国际博物馆日丨瞧!这些... 绿釉立姿陶狗文创。河南博物院供图本版插画:王伟宾 图片效果由AI生成5月17日,市民趁着周末纷纷前往...
夏天到了,来新乡“野”吧 日前,关于新乡的一组数据意外受到关注:微信团队发布的《2026年“五一”假期微信支付数据报告》显示,...
上海移动打出“智能加码”组合拳... 上证报中国证券网讯(记者 宋薇萍)5月17日,在上海举行的“智能加码科创申城”中国移动上海公司世界电...
私家车多次别挡救护车,北京交警... 近日,北京交警接到市民反映,在朝阳区东三环长虹桥由南向北方向,一辆黑色小客车多次别挡一辆外埠救护车,...
稳居全球首位!中国大模型周调用... 记者|宋欣悦 编辑|程鹏 高涵向江林 校对|段炼 《每日经济新闻》根据OpenRouter最新数据测...
无锡高新区科技助残孵化谷投运 来源:滚动播报 (来源:新华日报) 本报讯 (记者 浦敏琦) 5月15日,无锡高新区科技助残孵化谷正...
海岛女人,造一艘“船” 距离上海50多公里,有一座叫作衢山岛的岛屿,没有桥和路连接,唯一可抵达的交通只有轮渡。一张中国地图展...