Oracle数据库迁移PostgreSQL——基础篇


数据库差异

1.函数

描述 PostgreSQL Oracle
当前时间 current_date,now() sysdate
日期格式化 to_date(text, text) to_date(text)
对时间或者数字截取 date_trunc() trunc()
空判断 coalesce(a, 0) nvl(a, 0)
数值类型转换

to_number(int, text)

例: to_number(123, "666666") : text表示精度

to_number(int)
字符类型转换 to_char(int, text) 例如 to_char(123,"666666") : text表示精度 to_char(int)
条件判断 case...when...then decode()
伪表dual 不支持 支持

 

 

 

 

 

 

 

 

 

 

 

 

 

 

2.数据类型

 

Oracle

PGSQL

整数类型

integer

smallint

integer

bigint

数字类型

decimal(P,S)

decimal

number(P,S)

numeric

number(18,2)

money

可变长度的字符串

varchar2

character varying(n), varchar(n)

varchar2(1)

boolean

固定长度的字符串

char

character(n), char(n)

日期类型

date

timestamp [ (p) ] [ without time zone ]

timestamp 

timestamp [ (p) ] with time zone

 

date

 

time [ (p) ] [ without time zone ]

 

time [ (p) ] with time zone

 

interval [ fields ] [ (p) ]

字符数据

clob

text

 

3.表连接(左连接,右连接)

oracle: 左连接 : a.id = b.id(+) ;

               右连接 : a.id(+) = b.id

postgreSQL: 左连接:a left join b on a.id = b.id;

                        右连接:a right join b on a.id = b.id

3.分页

oracle使用rownum分页, postgreSQL使用limit.

注意:PostGreSQL数据分页是利用limit关键字 的,搭配子查询,

PostGreSQL的子查询相比较Oracle而言更严格,必须使用别名,

Limit放在order by后面。

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM