PGSQL中的时间函数
1.⾸先系统默认的四个函数,前两个是⽇期+时间,后⾯的是单独⽇期函数与单独时间。
sql中select是什么意思--标准时间函数
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:强⼤的包容性,计算时间可以⽤另外两种表达,⽽且时间还忽略了⼤⼩写,很赞!!
时间标准简写单数
年Years Y year
⽉Months M Month
周Weeks  W Week
天Days  D Day
⼩时Hours  H Hour
分钟Minutes M Minute
秒Seconds  S Second
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

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。