2.时间转特定形式的字符
使用to_char函数可以将时间格式转换为字符格式,并可以执行转换的格式
select to_char(now(), 'yyyyMMddHH24miss')
--结果20220222095610
3.字符格式转时间
select to_timestamp('20220221143723','yyyyMMddHH24miss')
模式 描述
HH 一天的小时数(01-12)
HH12 一天的小时数(01-12)
HH24 一天的小时数(00-23)
MI 分钟(00-59)
SS 秒(00-59)
MS 毫秒(000-999)
US 微秒(000000-999999)
AM 正午标识(大写)
Y,YYY 带逗号的年(4和更多位)
YYYY 年(4和更多位)
YYY 年的后三位
YY 年的后两位
Y 年的最后一位
MONTH 全长大写月份名(空白填充为9字符)
Month 全长混合大小写月份名(空白填充为9字符)
month 全长小写月份名(空白填充为9字符)
MON 大写缩写月份名(3字符)
Mon 缩写混合大小写月份名(3字符)
mon 小写缩写月份名(3字符)
MM 月份号(01-12)
DAY 全长大写日期名(空白填充为9字符)
Day 全长混合大小写日期名(空白填充为9字符)
day 全长小写日期名(空白填充为9字符)
DY 缩写大写日期名(3字符)
Dy 缩写混合大小写日期名(3字符)
dy 缩写小写日期名(3字符)
DDD 一年里的日子(001-366)
DD 一个月里的日子(01-31)
D 一周里的日子(1-7;周日是1)
W 一个月里的周数(1-5)(第一周从该月第一天开始)
WW 一年里的周数(1-53)(第一周从该年的第一天开始)
4.时间加减计算
select 时间 +/- INTERVAL '增量时间'
select now() - INTERVAL '1 days';
select now() + INTERVAL '1 day';
select now() + INTERVAL '1 d';
select now() + INTERVAL '1 D';
select now() + INTERVAL '1 Day'; --不区分大小写和复数
select now() + '1 day'; --如果时间增加可以不写interval,但是减的时候必须写
select now() + '1 year 1 month 1 day 1 hour 1 min 1 sec'; --可以复合使用加1年1月1天1时1分1秒
注意事项:
1.时间增加可以不写interval,但是减的时候必须写,不然报错
2.增量的时间格式可以用一下全称或者缩写都可,其中全称可以用years或者year,单复数效果一样。
Abbreviation | Meaning |
Y | year |
M | month |
W | week |
D | day |
H | hour |
M | minute/min |
S | second |
select date '2018-03-05';
select '2018-03-05'::date;
select to_date('2018-03-05', 'YYYY-MM-DD');
select timestamp ...
1.postgre
to_char(数据库字段名或具体时间字符串, ‘时间格式’)
例:select * from table where to_char(数据库字段名, ‘HH24:MI:SS’) = to_char(‘2020-08-06 15:43:28’, ‘HH24:MI:SS’)
时间格式:yyyy-mm-dd HH24:MI:SS
1. 小时分为
HH:hour of day (01-12)
HH12:hour of day (01-12)
HH24:hour of day (00-2
在PostgreSQL中可以直接对时间进行加减运算:、
SELECT now()::timestamp + '1 year'; --当前时间加1年SELECT now()::timestamp + '-1 year'; --当前时间减1年
SELECT now()::timestamp + '1 month'; --当前时间加一个月SELECT now()::timestamp + ...