PostgreSQLOracle相容性之-roundinterval

德哥發表於2018-05-06

標籤

PostgreSQL , Oracle , interval , 數值 , 轉換


背景

Oracle 可以將interval當成一個秒為單位的數值,並允許對其值進行round。

PostgreSQL的round沒有寫這個,不過我們可以自定義一個相容函式。

create or replace function round(interval, int) returns float8 as $$  
  select round(EXTRACT(EPOCH FROM $1)::numeric, $2)::float8;  
$$ language sql strict immutable;  
postgres=# select round(interval `1h 10min 1.1second`,2);  
 round    
--------  
 4201.1  
(1 row)  

PostgreSQL大量時間操作函式在這裡可以知道到

https://www.postgresql.org/docs/current/static/functions-datetime.html

參考

https://www.postgresql.org/docs/current/static/functions-datetime.html

https://docs.oracle.com/cd/B19306_01/server.102/b14200/functions103.htm

《PostgreSQL Oracle 相容性 之 NUMTODSINTERVAL》


相關文章