PostgreSQL - 怎麼將時間轉換成秒
阿新 • • 發佈:2018-12-20
保留原來的毫秒值
select extract(epoch from '03:21:06.678'::time);
這個extract(epoch from )
函式得到的是時間是秒單位,如果需要毫秒值就直接乘以1000:
select extract(epoch from now())*1000;
去掉原來的毫秒值
向下取整函式floor()
select floor(extract(epoch from '03:21:06.678'::time));
向上取整函式ceil()
或ceiling()
,這兩個一樣的
select ceil(extract(epoch from '03:21:06.678'::time));
select ceiling(extract(epoch from '03:21:06.678'::time));
四捨五入函式round()
select round(extract(epoch from '03:21:06.678'::time));
將兩個日期間的時間轉換為秒值
select extract(epoch from(('2018-12-18 00:00:10'::timestamp - '2018-12-18 00:00:00')));
select extract(epoch from(('2018-12-18 00:00:10' - '2018-12-18 00:00:00' ::timestamp)));
select extract(epoch from(('2018-12-18 00:00:10' - timestamp'2018-12-18 00:00:00')));
select extract(epoch from((timestamp'2018-12-18 00:00:10' - '2018-12-18 00:00:00')));
上邊四種寫法都可以。
epoch新紀元時間
新紀元時間 Epoch 是以
1970-01-01 00:00:00 UTC
為標準的時間,將目標時間與1970-01-01 00:00:00
時間的差值以秒來計算 ,單位是秒,可以是負值; 有些應用會將時間儲存成epoch 時間形式,以提高讀取效率。