【AntDB数据库】AntDB数据库核心功能(二)

核心功能

Oracle兼容性

AntDB 与Oracle数据库高度兼容,使得企业现有的基于Oracle数据库开发的应用程序无需做任何修改或只做少量的修改便可以运行在AntDB平台之上,由此降低了程序迁移的风险,减少了重写应用的成本,从而实现高效快捷的应用迁移。

AntDB与Oracle数据库的兼容性包括:Oracle语法兼容、函数兼容、系统表/视图兼容、存储过程和触发器兼容、数据类型兼容、 OCI和JDBC调用接口兼容、管理包兼容、 rowid/rownum和dual虚表等。基于高度的兼容特性,可以实现AntDB和Oracle的异构数据库容灾实现上线初期两套数据库并行运行一段时间。

AntDB支持使用oracle兼容模式进行数据库访问,支持服务器级别、会话级别和语句级别来切换兼容开关。

用户只需在JDBC的连接URL中增加grammar=oracle参数设置,即可通过JDBC使用oracle兼容模式进行应用开发。

下面简要列出AntDB语法与oracle语法对比:

1、数据类型对比:

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

2、常用函数对比

函数名称 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 支持 支持 支持
类型转换函数 支持 支持 支持
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 * 支持 支持 支持

3、运算符

运算符名称 Oracle AntDB PostgreSQL
+ 支持 支持 支持
- 支持 支持 支持
* 支持 支持 支持
/ 支持 支持 支持
and 支持 支持 支持
or 支持 支持 支持
not 支持 支持 支持
!= 支持 支持 支持
<> 支持 支持 支持
^= 支持 不支持 不支持
= 支持 支持 支持
< 支持 支持 支持
> 支持 支持 支持
支持 支持 支持
>= 支持 支持 支持
is (not) null 支持 支持 支持
(not) between and 支持 支持 支持
(not)in 支持 支持 支持
all/any 支持 支持 支持
exists 支持 支持 支持
like 支持 支持 支持
ll 支持 支持 支持
union (all) 支持 支持 支持
minus 支持 支持 支持
intersect 支持 不支持 支持

4、查询关键字

名称 Oracle AntDB PostgreSQL
distinct 支持 支持 支持
unique 支持 不支持 不支持
group by 支持 支持 支持
having 支持 支持 支持
order by 支持 支持 支持
connect by 支持 支持 不支持
cte 支持 支持 支持
case when 支持 支持 支持
insert all into 支持 不支持( insert into values替代) 不支持 ( insert into values替代)
merge into 支持 不支持( upsert替代) 不支持 ( upsert替代)

5、表连接

表连接名称 Oracle AntDB PostgreSQL
(inner) join 支持 支持 支持
from tableA,tableB 支持 支持 支持
left (outer) join 支持 支持 支持
right (outer) join 支持 支持 支持
full (outer) join 支持 支持 支持
(+) 支持 支持 不支持

6、其他

名称 Oracle AntDB PostgreSQL
declare 支持 支持 支持
exception 支持 支持 支持
cursor 支持 支持 支持
create type 支持 支持 支持
alter type 支持 支持 支持
drop type 支持 支持 支持
隐式转换 支持 支持 不支持
oracle别名 支持 支持 不支持
Oracle 同义词 支持 支持 不支持
%type 支持 支持 支持
%rowtype 支持 支持 支持
% 支持 支持 支持
_ 支持 支持 支持
dual 支持 支持 不支持

AntDB数据库始于2008年,在运营商的核心系统上,为全国24个省份的10亿多用户提供在线服务,具备高性能、弹性扩展、高可靠等产品特性,峰值每秒可处理百万笔电信核心交易,保障系统持续稳定运行近十年,并在通信、金融、交通、能源、物联网等行业成功商用落地。

你可能感兴趣的:(数据库,oracle)