PGSQL中的时间函数

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

--标准时间函数
select now();
2022-01-04 10:31:26.435501+08
--标准时间函数,同now()
select current_timestamp;
2022-01-04 10:31:33.679012+08
--标准日期
select current_date;
2022-01-04
--标准时间
select current_time;
10:31:47.180718+08

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

--当前日期 + 一天
select current_date,current_date + interval '1 day';
2022-01-04  2022-01-05 00:00:00
--当前日期 + 一周
select current_date,current_date + interval '1 week';
2022-01-04  2022-01-11 00:00:00
--当前日期 + 一月
select current_date,current_date + interval '1 month';
2022-01-04  2022-02-04 00:00:00
--当前日期 + 一年
select current_date,current_date + interval '1 year';
2022-01-04  2023-01-04 00:00:00

--用now,当前时间 + 1天,其他同理
select now(),now() + interval '1 day';
2022-01-04 10:43:14.587596+08  2022-01-04 10:43:14.587596+08
select now(),now() +  ' 1 year';
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

select  current_time,current_time + interval '1 hours';
10:36:49.929987+08  11:36:49.929987+08
select  current_time,current_time + interval '1 Minutes',current_time + interval '1 MinUte';
10:37:16.843502+08  10:38:16.843502+08  10:38:16.843502+08

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

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

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

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

  • 6
    点赞
  • 28
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值