华为云云数据库GaussDBSQL的基本元素_云淘科技

GaussDB数据库基本兼容常用的SQL基本元素,但是部分存在差异,详细信息可参考下表。

数据类型

表1 数值类型

序号

Oracle数据类型

GaussDB数据库是否支持

差异

1

NUMBER [ ( p [ , s ] ) ]

支持,有差异

精度和实现存在差异。

2

FLOAT [ ( p ) ]

支持

3

LONG

不支持

4

BINARY_FLOAT

不支持

5

BINARY_DOUBLE

支持

表2 日期时间类型

序号

Oracle数据类型

GaussDB数据库是否支持

差异

1

DATE

支持,有差异

精度有差异。

2

TIMESTAMP [ ( fractional_seconds_precision ) ]

支持

3

TIMESTAMP [ ( fractional_seconds_precision ) ] WITH TIME ZONE

支持,有差异

GaussDB的timestamptz等价于Oracle的timestampwithloacltimezone,缺少Oracle对应的timestamptz类型。

4

TIMESTAMP [ ( fractional_seconds_precision ) ] WITH LOCAL TIME ZONE

不支持

5

INTERVAL YEAR [ ( year_precision ) ] TO MONTH

支持

6

INTERVAL DAY [ ( day_precision ) ] TO SECOND [ ( fractional_seconds_precision ) ]

支持

表3 字符类型

序号

Oracle数据类型

GaussDB数据库是否支持

差异

1

VARCHAR2 ( size [ BYTE | CHAR ] )

支持,有差异

size单位为字节,最大10MB。

2

NVARCHAR2 ( size )

支持,有差异

VARCHAR2(n)类型的别名。

3

CHAR [ ( size [ BYTE | CHAR ] ) ]

支持,有差异

size单位为字节,最大10MB。

4

NCHAR [ ( size ) ]

支持,有差异

size单位为字节,最大10MB。

5

CLOB

支持,有差异

不支持定位器概念。

6

NCLOB

不支持

表4 二进制类型

序号

Oracle数据类型

GaussDB数据库是否支持

差异

1

RAW ( size )

支持,有差异

2

LONG RAW

不支持

3

BLOB

支持,有差异

4

BFILE

不支持

表5 ROWID类型

序号

Oracle数据类型

GaussDB数据库是否支持

差异

1

ROWID

不支持

2

UROWID

不支持

表6 用户自定义类型

序号

Oracle数据类型

GaussDB数据库是否支持

差异

1

对象类型

不支持

2

REF数据类型

不支持

3

可变数组

支持

4

嵌套表

支持

表7 伪类型

序号

Oracle数据类型

GaussDB数据库是否支持

差异

1

anytype

不支持

2

anydata

不支持

3

anydataset

不支持

表8 xml类型

序号

Oracle数据类型

GaussDB数据库是否支持

差异

1

XMLType

支持,有差异

不支持部分操作。

2

URIType

不支持

表9 空间类型

序号

Oracle数据类型

GaussDB数据库是否支持

差异

1

SDO_GEOMETRY

不支持

2

SDO_TOPO_GEOMETRY

不支持

3

SDO_GEORASTER

不支持

表10 锁模式

级别

Oracle锁模式

GaussDB锁模式

备注

NULL

GaussDB的NULL表示未被赋予锁,与Oracle的0级锁对应。

0

none

INVALID

GaussDB的INVALID表示被赋予了非法锁。仅在运行过程中出现了GaussDB无法识别的锁时会被赋予INVALID锁。

1

null

AccessShare

2

RS

RowShare

3

RX

RowExclusive

4

S

ShareUpdateExclusive

5

SRX

Share

6

\

ShareRowExclusive

7

X

Exclusive

8

\

AccessExclusive

数据类型比较规则

表11 比较规则

序号

Oracle数据库

GaussDB数据库

差异

1

Numeric值

支持

2

日期时间值

支持

3

二进制值

支持

4

字符值

支持

5

对象值

不支持

6

Varrays和嵌套表

支持,有差异

Varrays支持,嵌套表不支持。

7

数据类型优先级

支持

8

数据转换(显示/隐式类型转换)

支持

字面量

表12 字面量

序号

Oracle数据库

GaussDB数据库

1

文本字面量

支持

2

数值字面量

支持

3

日期时间字面量

支持

4

区间字面量

支持

格式模型

表13 格式

序号

Oracle数据库

GaussDB数据库

1

数字格式

支持

2

日期时间格式

支持

3

格式模式修饰符

支持

4

字符串到日期转换规则

支持

5

xml格式模式

不支持

空值

表14 空值

序号

Oracle数据库

GaussDB数据库

1

IS NULL和IS NOT NULL

支持

2

NULLS in conditions

支持

注释

表15 comment

序号

Oracle数据库

GaussDB数据库

1

斜杠和星号(/*)

支持

2

两个连字符(–)

支持

3

COMMENT命令

支持

4

HINT

支持,有差异

数据库对象

表16 schema对象

序号

Oracle数据库

GaussDB数据库

差异

1

分析视图

不支持

2

属性维度

不支持

3

集群

支持

4

约束

支持

5

数据库链接

支持

6

数据库触发器

支持

7

尺寸

支持

8

外部过程库

不支持

9

分层结构

不支持

10

索引组织表

不支持

11

索引

支持

12

索引类型

不支持

13

java类

不支持

14

java资源

不支持

15

java源码

不支持

16

join groups

不支持

17

物化视图

支持

18

物化视图日志

不支持

19

挖掘模型

不支持

20

对象表

不支持

21

对象类型

不支持

22

对象视图

不支持

23

operators

支持

24

支持

25

序列

支持

26

存储函数

支持

27

存储过程

支持

28

同义词

支持,有差异

Oracle数据库的数据库对象在同一namespace内不能重名。GaussDB同一namespace内同义词可与表、视图、函数、package重名,如果重名,会优先访问本名对象,未寻找到本名对象时才会寻找同义词指向的对象。

29

支持

30

视图

支持

31

zone map

不支持

表17 nonschema对象

序号

Oracle数据库

GaussDB数据库

1

上下文

不支持

2

目录

支持

3

版本

不支持

4

闪回存档

不支持

5

锁定配置文件

不支持

6

配置文件

不支持

7

还原点

支持

8

角色

支持

9

回滚段

不支持

10

表空间

支持

11

表空间集

不支持

12

统一审计策略

支持

13

用户

支持

数据库对象名称和限定符

表18 命名规则

序号

Oracle数据库

GaussDB数据库

差异

1

数据库对象命名规则

支持,有差异

GaussDB默认小写。

2

模式对象命名规则

支持

SQL语句中的引用架构对象和部件的语法

表19 对象引用

序号

Oracle数据库

GaussDB数据库

1

引用对象的一般语法

支持

2

解析对象的引用

支持

3

引用外部模式对象

支持

4

引用外部数据库对象

支持

5

引用表和索引分区和子分区

支持

父主题: 分布式

同意关联代理商云淘科技,购买华为云产品更优惠(QQ 78315851)

内容没看懂? 不太想学习?想快速解决? 有偿解决: 联系专家