MW211 EXIT

devlog
PostgreSQL/時刻型→数値型
2013年02月25日
to_char()で文字型にしてから、to_number()で数値型にする。
直接ってのはないようだ
┌──────────────────────────────────────┐
│SELECT to_number(to_char(now(),'YYYY'),'9999');                         →年│
│SELECT to_number(to_char(now(),'MM'),'9999');                           →月│
│SELECT to_number(to_char(now(),'DD'),'9999');                           →日│
│SELECT to_number(to_char(now(),'HH24'),'99');                           →時│
│SELECT to_number(to_char(now(),'MI'),'99');                             →分│
│SELECT to_number(to_char(now(),'SS'),'99');                             →秒│
└──────────────────────────────────────┘

…と思ったら、あった。直接ってのが。「extract()」を使う。
┌──────────────────────────────────────┐
│SELECT extract(YEAR FROM now());                                        →年│
│SELECT extract(MONTH FROM now());                                       →月│
│SELECT extract(DAY FROM now());                                         →日│
│SELECT extract(HOUR FROM now());                                        →時│
│SELECT extract(MINUTE FROM now());                                      →分│
│SELECT trunc(extract(SECOND FROM now()));                               →秒│
└──────────────────────────────────────┘
秒に関しては端数(ミリ秒)も付随してしまうので
「trunc()」で切り捨ててしまった方がいいかも。
分類:PostgreSQL