【PostgreSQL】数値を日付に変換する

2020年6月21日

スポンサーリンク

使う構文

--型の変換
cast( A as B )
A : 型変換をする文字・数字・日付など 
B : 変換する型を指定します。

 

数値を日付に変換する

--1.数値「20190401」を日付に変換する
select * From cast(cast(20190401 as character varying(8)) as date);
--【結果】 : 2019-04-01


--2.数値「20190401123456」を日付と時間に変換する   2019年4月1日 12時34分56秒
select * From cast(left(cast(20190401123456 as character varying(14)),8) || ' '
|| right(cast(20190401123456 as character varying(14)),6) as timestamp);
--【結果】 : 2019-04-01 12:34:56

 

補足

そのまま数値から日付(date)にcastしようとするとエラーになるため、文字列にしてからdateに変換しています。

 

2.は『cast(left(cast(20190401123456 as character varying(14)),8)』で年月日に、『right(cast(20190401123456 as character varying(14)),6』で時分秒に変換し、最後にtimestampに変換しています。