oracle库迁移Postgres库
最近项目上要求oracle数据库迁移到pg库上去,这是本人在迁移过程中遇到的问题,记录一下,可能不全,没有的可以去pg官网查看或寻找,如果有问题还望大家多多指正。
Postgres库中文官网地址
1.日期截取 trunc()
-
oracle — trunc()
-
Postgres — date_trunc(field,source [time_zone ])
field 的有效值(常用的)为year,month,day,hour,minute,week(截取到这周的周一)。
source指的是类型timestamp,timestamp with time zone,interval
--oracle
select trunc(sysdate,'mm') from dual;
--对应pg
select date_trunc('month',now()::TIMESTAMP(0));
--oracle
select trunc(sysdate) from dual;
--对应pg
select date_trunc('day',now()::TIMESTAMP(0));
--pg库其他举例
SELECT date_trunc('year', TIMESTAMP '2001-02-16 20:38:40');
Result:2001-01-01 00:00:00
SELECT date_trunc('day', TIMESTAMP WITH TIME ZONE '2001-02-16 20:38:40+00');
Result: 2001-02-16 00:00:00-05
SELECT date_trunc('hour', INTERVAL '3 days 02:47:33');
Result: 3 days 02:00:00
如果仅是截取数字,用法跟oracle一样