操作符
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 |
! = |
不支持,!=中间存在空格时,!会被识别为阶乘。 |
当比较操作符(<=、<>、>=、^=)中间存在空格时,也可以识别成没有空格进行正常操作。!=中间存在空格时,!会被识别为阶乘,可能会导致结果与预期不一致。