PG日期类型系列一

目录

常用日期类型转化格式化模式字符串规则

日期类型转字符串

timestamp日期类型转date和time

current_timestamp、localtimestamp、localtime类型转化要求


格式 描述
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 年的后两位
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)(第一周从该年的第一天开始)

常用日期类型转化格式化模式字符串规则

select to_char(NOW(),'yy-mm-dd') as time

select to_char(NOW(),'YYYY-MM-DD') as time

select to_char(NOW(),'YYYY-MM-DD HH:MI:SS') as time

select to_char(NOW(),'YYYY-MM-DD HH24:MI:SS') as time

注:模式格式不区分大小写

日期类型转字符串

---获取年

select to_char(NOW(),'yyyy') as year;

---获取月

select to_char(NOW(),'mm') as month;

---获取日

select to_char(NOW(),'dd') as day;

---获取时

select to_char(NOW(),'hh24') as hour;

---获取分

select to_char(NOW(),'mi') as minute;

---获取秒

select to_char(NOW(),'ss') as second;

---获取年-月-日 时:分:秒

select to_char(NOW(),'yyyy-mm-dd hh:mi:ss') as ymd;

timestamp日期类型转date和time

SELECT now()::timestamp; SELECT now()::time; SELECT now()::date;

注:timestamp和time类型默认是去掉时区的如果要加上时区则

SELECT now()::timestamp with time zone; SELECT now()::time with time zone;

SELECT now()::time(0); SELECT now()::timestamp(0) with time zone;

注:timestamp和time类型中精度范围是1~6,就是小数点后面保留几位,0表示去掉小数点

1表示保留小数点后一位

SELECT now()::time(1); SELECT now()::timestamp(1);

current_timestamp、localtimestamp、localtime类型转化要求

 select current_timestamp::timestamp(0);
    
select localtimestamp::timestamp(0);
select localtimestamp::time(0);
select localtimestamp::date;

select localtime::time;
注:因为timestamp类型含有年月日时分秒,因此current_timestamp、localtimestamp可以转化成timestamp、date及time
而localtime类型只含有时分秒及精度值只能转成time不能转timestamp、date

总结:

 1.postgresql中日期类型后双冒号(::)表示类型转化的意思

  ::date表示转化为date类型日期

  ::time表示转化为time类型日期

   ::timestamp表示转化为timestamp类型日期

2.::timestamp(0)表示时间去掉小数点

   ::timestamp(1)表示时间保留小数点一位

   ::time(0)表示时间去掉小数点

   ::time(1)表示时间保留小数点一位

   ::timestamp(p)和time(p)中p的范围是1~6

你可能感兴趣的:(数据库,数据库开发)