操作符
GaussDB数据库兼容除分层查询以外的运算符。
SQL运算符
| 序号 | Oracle数据库 | GaussDB数据库 |
|---|
| 1 | 一元运算符和二元运算符 | 支持 |
| 2 | 运算符优先级 | 支持 |
算术运算符
| 序号 | Oracle数据库 | GaussDB数据库 |
|---|
| 1 | 正负(+-)一元运算符 | 支持 |
| 2 | 加减(+-)二元运算符 | 支持 |
| 3 | 乘除(*/)二元运算符 | 支持 |
COLLATE运算符
| 序号 | Oracle数据库 | GaussDB数据库 |
|---|
| 1 | COLLATE collation_name | 支持 |
连接运算符
集合运算符
| 序号 | 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中提供的CONTEXT_CLAUSE支持自定义功能评估函数,和GaussDB约束选择性评估函数不同。GaussDB不支持自定义功能评估函数。 |
- GaussDB和Oracle可选参数差异较大。GaussDB具体请参考《开发者指南》中“SQL参考 > SQL语法 > C > CREATE OPERATOR”章节的参数说明部分。 |
比较操作符
| 序号 | Oracle数据库 | GaussDB数据库 |
|---|
| 1 | < = | 支持 |
| 2 | < > | 支持 |
| 3 | > = | 支持 |
| 4 | ^ = | 支持 |
| 5 | ! = | 不支持,!=中间存在空格时,!会被识别为阶乘。 |
当比较操作符(<=、<>、>=、^=)中间存在空格时,也可以识别成没有空格进行正常操作。!=中间存在空格时,!会被识别为阶乘,可能会导致结果与预期不一致。
更多详情请参考GaussDB 文档中心:doc.hcs.huawei.com/db/zh-cn/ga…