操作符
GaussDB数据库兼容除分层查询以外的运算符。
SQL运算符
| 序号 | Oracle数据库 | GaussDB数据库 |
|---|---|---|
| 1 | 一元运算符和二元运算符 | 支持 |
| 2 | 运算符优先级 | 支持 |
算术运算符
| 序号 | Oracle数据库 | GaussDB数据库 |
|---|---|---|
| 1 | 正负(+-)一元运算符 | 支持 |
| 2 | 加减(+-)二元运算符 | 支持 |
| 3 | 乘除(*/)二元运算符 | 支持 |
COLLATE运算符
| 序号 | Oracle数据库 | GaussDB数据库 |
|---|---|---|
| 1 | COLLATE collation_name | 支持 |
连接运算符
| 序号 | Oracle数据库 | GaussDB数据库 |
|---|---|---|
| 1 | || | 支持 |
分层查询运算符
| 序号 | Oracle数据库 | GaussDB数据库 | 差异 |
|---|---|---|---|
| 1 | prior | 支持,有差异。 | GaussDB中仅支持对普通列调用,不支持对函数等调用。 |
| 2 | connect_by_root | 支持,有差异。 | GaussDB中,connect_by_root调用时,用括号修饰操作值时,行为与Oracle一致;不使用括号时,仅支持对普通列调用此运算符。 |
集合运算符
| 序号 | Oracle数据库 | GaussDB数据库 |
|---|---|---|
| 1 | union | 支持 |
| 2 | union all | 支持 |
| 3 | intersect | 支持 |
| 4 | minus | 支持 |
多集合运算符
| 序号 | Oracle数据库 | GaussDB数据库 |
|---|---|---|
| 1 | multiset except | 支持 |
| 2 | multiset intersect | 支持 |
| 3 | multiset union | 支持 |
用户自定义运算符
| 序号 | Oracle数据库 | GaussDB数据库 |
|---|---|---|
| 1 | CREATE OPERATOR | 不支持 |
比较操作符
| 序号 | Oracle数据库 | GaussDB数据库 |
|---|---|---|
| 1 | < = | 支持 |
| 2 | < > | 支持 |
| 3 | > = | 支持 |
| 4 | ^ = | 支持 |
| 5 | ! = | 不支持,!=中间存在空格时,!会被识别为阶乘。 |
当比较操作符(<=、<>、>=、^=)中间存在空格时,也可以识别成没有空格进行正常操作。!=中间存在空格时,!会被识别为阶乘,可能会导致结果与预期不一致。