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. 数据类型

ORACLE AntDB Postgresql
varchar2 varchar2 varchar
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(高效)
clob clob text
blob blob bytea
rownum rownum
rowid rowid ctid

7. 系统函数

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

函数类型 函数名称 ORACLE AntDB Postgresql
数值函数 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运算符类型 运算符名称 ORACLE AntDB Postgresql
算数运算符 +
-
*
/
逻辑运算符 and
or
not
比较运算符 !=
<>
^=
=
<
>
<=
>=
is (not) null
(not) between and
(not)in
all/any
exists
like
连接运算符 ll
合并运算符 union (all)
minus except
intersect

9. 查询

SQL查询类型 名称 ORACLE AntDB Postgresql
去重 distinct
unique
分组 group by
过滤 having
排序 order by
递归 connect by
cte cte
case when case when
批量insert insert all into ╳ insert into values ╳ insert into values
merge into merge into ╳ upsert ╳ upsert

10. 表连接

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

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

类型 名称 ORACLE AntDB Postgresql
视图 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

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

13. 其他

类型 名称 ORACLE AntDB Postgresql
过程语言 declare
exception
cursor
自定义type create type
alter type
drop type
数据类型隐式转换 隐式转换
oracle别名 oracle别名
类型复制 %type
%rowtype
like通配符 %
_
dual虚拟表 dual

你可能感兴趣的:(语法兼容,AntDB,Oracle语法兼容)