Oracle语法兼容对比 Oracle vs AntDB vs Postgresql

Oracle语法兼容对比 Oracle vs AntDB vs Postgresql

1. DDL

create,alter,drop,truncate

2. DML

insert,update,delete

3. DQL

select

4. DCL

grant,revoke,alter password

5. TCL

commit,rollback,savepoint

6. 数据类型

ORACLEAntDBPostgresql
varchar2varchar2varchar
char(n)char(n)char(n)
date(日期)date(日期)timestamp(时间日期型)、date(日期)、time(时间)
number(n)number(n)smallint、int、bigint
number(p,n)number(p,n)numeric(p,n)(低效)、float(高效)
clobclobtext
blobblobbytea
rownumrownum
rowidrowidctid

7. 系统函数

原生支持: 原生支持: √;不支持:╳;扩展支持 扩展支持 :○

函数类型函数名称ORACLEAntDBPostgresql
数值函数ABS
ACOS
ASIN
ATAN
ATAN2
BITAND
CEIL
COS
COSH
EXP
FLOOR
LN
LOG
MOD
NANVL
POWER
ROUND (number)
SIGN
SIN
SINH
SQRT
TAN
TANH
TRUNC (number)
字符函数CHR
CONCAT
INITCAP
LOWER
LPAD
LTRIM
REGEXP_REPLACE
REGEXP_SUBSTR
REPLACE
RPAD
RTRIM
SUBSTR
TRANSLATE
TREAT
TRIM
UPPER
ASCII
INSTR
LENGTH
REGEXP_INSTR
REVERSE
日期函数ADD_MONTHS
CURRENT_DATE
CURRENT_TIMESTAMP
EXTRACT (datetime)
LAST_DAY
LOCALTIMESTAMP╳ 关键字╳ 关键字
MONTHS_BETWEEN
NEW_TIME
NEXT_DAY
ROUND (date)
SYSDATE
SYSTIMESTAMP
TO_CHAR (datetime)
TO_TIMESTAMP
TRUNC (date)
编码解码函数DECODE
DUMP
空值比较函数COALESCE
LNNVL
NANVL
NULLIF
NVL
NVL2
通用数值比较函数GREATEST
LEAST
类型转换函数CAST
CONVERT
TO_CHAR (character)
TO_CHAR (datetime)
TO_CHAR (number)
TO_DATE
TO_NUMBER
TO_TIMESTAMP
分析函数AVG *
COUNT *
DENSE_RANK
FIRST
FIRST_VALUE *
LAG
LAST
LAST_VALUE *
LEAD
MAX *
MIN *
RANK
ROW_NUMBER
SUM *

8. SQL运算符

SQL运算符类型运算符名称ORACLEAntDBPostgresql
算数运算符+
-
*
/
逻辑运算符and
or
not
比较运算符!=
<>
^=
=
<
>
<=
>=
is (not) null
(not) between and
(not)in
all/any
exists
like
连接运算符ll
合并运算符union (all)
minusexcept
intersect

9. 查询

SQL查询类型名称ORACLEAntDBPostgresql
去重distinct
unique
分组group by
过滤having
排序order by
递归connect by
ctecte
case whencase when
批量insertinsert all into╳ insert into values╳ insert into values
merge intomerge into╳ upsert╳ upsert

10. 表连接

表连接类型表连接名称ORACLEAntDBPostgresql
内连接(inner) join
from tableA,tableB
左连接left (outer) join
右连接right (outer) join
全连接full (outer) join
(+)(+)

11. 视图/函数/存储过程/触发器

类型名称ORACLEAntDBPostgresql
视图create view
alter view
drop view
函数create fuction
alter fuction
drop fuction
存储过程create procedure
alter procedure
drop procedure
触发器create trigger
alter trigger
drop trigger

12. sequence

类型名称ORACLEAntDBPostgresql
新建序列create sequence
修改序列alter sequence
删除序列drop sequence
操作序列seq.nextVal╳ nextVal(‘seq’)
seq.currVal╳ currVal(‘seq’)

13. 其他

类型名称ORACLEAntDBPostgresql
过程语言declare
exception
cursor
自定义typecreate type
alter type
drop type
数据类型隐式转换隐式转换
oracle别名oracle别名
类型复制%type
%rowtype
like通配符%
_
dual虚拟表dual
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值