当前位置:   article > 正文

PGSQL中的时间函数_pgsql interval

pgsql interval

1.首先系统默认的四个函数,前两个是日期+时间,后面的是单独日期函数与单独时间。

  1. --标准时间函数
  2. select now();
  3. 2022-01-04 10:31:26.435501+08
  4. --标准时间函数,同now()
  5. select current_timestamp;
  6. 2022-01-04 10:31:33.679012+08
  7. --标准日期
  8. select current_date;
  9. 2022-01-04
  10. --标准时间
  11. select current_time;
  12. 10:31:47.180718+08

2.时间上的计算。这里是可以根据当前时间计算下个月,下周的时间等等,个人喜欢用current_date(纯日期,看着舒服),计算时间加减,注意关键字interval(间隔的意思),但是用now时可以不加!!!

  1. --当前日期 + 一天
  2. select current_date,current_date + interval '1 day';
  3. 2022-01-04 2022-01-05 00:00:00
  4. --当前日期 + 一周
  5. select current_date,current_date + interval '1 week';
  6. 2022-01-04 2022-01-11 00:00:00
  7. --当前日期 + 一月
  8. select current_date,current_date + interval '1 month';
  9. 2022-01-04 2022-02-04 00:00:00
  10. --当前日期 + 一年
  11. select current_date,current_date + interval '1 year';
  12. 2022-01-04 2023-01-04 00:00:00
  13. --用now,当前时间 + 1天,其他同理
  14. select now(),now() + interval '1 day';
  15. 2022-01-04 10:43:14.587596+08 2022-01-04 10:43:14.587596+08
  16. select now(),now() + ' 1 year';
  17. 2022-01-04 10:43:14.587596+08 2023-01-04 10:43:14.587596+08

PS:强大的包容性,计算时间可以用另外两种表达,而且时间还忽略了大小写,很赞!!

时间标准简写单数
YearsYyear
MonthsMMonth
Weeks  WWeek
Days  DDay
小时Hours  HHour
分钟MinutesMMinute
Seconds  SSecond
  1. select current_time,current_time + interval '1 hours';
  2. 10:36:49.929987+08 11:36:49.929987+08
  3. select current_time,current_time + interval '1 Minutes',current_time + interval '1 MinUte';
  4. 10:37:16.843502+08 10:38:16.843502+08 10:38:16.843502+08

3.时间函数的进阶,经常会遇到查询上月末的某天,或者每天的2点20分等等~

  1. --当前日期,本年第一天,上一年最后一天
  2. select current_date,date_trunc('year', current_date), date_trunc('year', current_date) - interval '1 day';
  3. 2022-01-04 2022-01-01 00:00:00+08 2021-12-31 00:00:00+08
  4. --当前日期,当月第一天,上月最后一天
  5. select current_date,date_trunc('month', current_date), date_trunc('month', current_date) - interval '1 day';
  6. 2022-01-04 2022-01-01 00:00:00+08 2021-12-31 00:00:00+08
  7. --当前日期,今天2点20
  8. select current_date,current_date + interval '2 hour' + interval '20 M';
  9. 2022-01-04 2022-01-04 02:20:00

4.基本技能,时间转为字符串

  1. select to_char(now(),'YYYY-MM-DD HH24:MI:SS'),To_char(now(),'yyyy-mm-dd hh24:mi:ss');
  2. 2022-01-04 11:14:39 2022-01-04 11:14:39
  3. select to_char(current_timestamp,'YYYY-MM-DD HH24:MI:SS'),to_char(current_timestamp,'HH24:MI:SS');
  4. 2022-01-04 11:14:50 11:14:50
  5. select to_char(current_date,'YYYY-MM-DD HH24:MI:SS');
  6. 2022-01-04 00:00:00

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/繁依Fanyi0/article/detail/406355
推荐阅读
相关标签
  

闽ICP备14008679号