单行函数
序号 | Oracle数据库 | GaussDB数据库 |
|---|---|---|
1 | 支持,有差异 | |
2 | 支持,有差异 | |
3 | 支持,有差异 | |
4 | 字符集函数 | 不支持 |
5 | Collation函数 | 不支持 |
6 | 支持,有差异 | |
7 | 支持,有差异 | |
8 | 支持,有差异 | |
9 | 支持,有差异 | |
10 | 集合函数 | 不支持 |
11 | 支持 | |
12 | 数据挖掘功能函数 | 不支持 |
13 | 支持,有差异 | |
14 | JSON函数 | 不支持 |
15 | 支持,有差异 | |
16 | 支持 | |
17 | 支持,有差异 |
序号 | Oracle数据库 | GaussDB数据库 | 差异 |
|---|---|---|---|
1 | ABS | 支持 | - |
2 | ACOS | 支持 | - |
3 | ASIN | 支持 | - |
4 | ATAN | 支持 | - |
5 | ATAN2 | 支持 | - |
6 | BITAND | 支持 | - |
7 | CEIL | 支持 | - |
8 | COS | 支持 | - |
9 | COSH | 支持 | - |
10 | EXP | 支持 | - |
11 | FLOOR | 支持 | - |
12 | LN | 支持 | - |
13 | LOG | 支持 | - |
14 | MOD | 支持,有差异 |
|
15 | NANVL | 支持,有差异 | GaussDB不支持直接声明或浮点数除0得到NaN。 |
16 | POWER | 支持 | - |
17 | REMAINDER | 支持,有差异 | 返回值数据类型不同。 GaussDB:
Oracle: 返回值类型是number。 |
18 | ROUND | 支持,有差异 |
|
19 | SIGN | 支持 | - |
20 | SIN | 支持 | - |
21 | SINH | 支持 | - |
22 | SQRT | 支持 | - |
23 | TAN | 支持 | - |
24 | TANH | 支持,有差异 | 返回值数据类型不同。 GaussDB:
Oracle: 返回值类型是number。 |
25 | TRUNC | 支持 | - |
26 | WIDTH_BUCKET | 支持 | - |
序号 | Oracle数据库 | GaussDB数据库 | 差异 |
|---|---|---|---|
1 | CHR | 支持,有差异 |
|
2 | CONCAT | 支持 | - |
3 | INITCAP | 支持,有差异 | 返回值受限于数据库字符集,导致返回结果与Oracle数据库不一致。 |
4 | LOWER | 支持,有差异 |
|
5 | LPAD | 支持 | - |
6 | LTRIM | 支持,有差异 | 返回值类型不一致。 当输入为字符数据类型时,Oracle返回VARCHAR2类型;输入为数据库创建时指定的国家字符集时,Oracle返回NVARCHAR2类型;输入为LOB类型时,Oracle返回LOB类型,GaussDB返回TEXT类型。 |
7 | NCHR | 支持,有差异 |
|
8 | NLS_LOWER | 支持,有差异 |
|
9 | NLS_UPPER | 支持,有差异 |
|
10 | NLSSORT | 支持 | - |
11 | REGEXP_REPLACE | 支持,有差异 |
|
12 | REGEXP_SUBSTR | 支持,有差异 | 匹配规则受aformat_regexp_match参数影响,具体影响规格请参见《开发指南》中“SQL参考 > 函数和操作符 > 字符处理函数和操作符”章节REGEXP_SUBSTR函数部分。 |
13 | REPLACE | 支持 | - |
14 | RPAD | 支持 | - |
15 | RTRIM | 支持 | - |
16 | SUBSTR | 支持 | - |
17 | TRANSLATE | 支持 | - |
18 | TRIM | 支持 | - |
19 | UPPER | 支持,有差异 |
|
20 | INSTRB | 支持 | - |
序号 | Oracle数据库 | GaussDB数据库 | 差异 |
|---|---|---|---|
1 | ASCII | 支持,有差异 | 返回值类型不同。Oracle数据库返回类型为uint4,GaussDB为int4。 |
2 | INSTR | 支持 | - |
3 | LENGTH | 支持 | - |
4 | REGEXP_COUNT | 支持,有差异 |
|
5 | REGEXP_INSTR | 支持,有差异 | 匹配规则受aformat_regexp_match参数影响,具体影响规格请参见《开发指南》中“SQL参考 > 函数和操作符 > 字符处理函数和操作符”章节REGEXP_INSTR函数部分。 |
6 | LENGTHC | 支持 | - |
序号 | Oracle数据库 | GaussDB数据库 | 差异 |
|---|---|---|---|
1 | ADD_MONTHS | 支持,有差异 |
|
2 | CURRENT_DATE | 支持,有差异 | GaussDB不支持nls_date_format参数设置时间显示格式。 |
3 | CURRENT_TIMESTAMP | 支持,有差异 | Oracle数据库参数支持范围(0 ~ 9)。 GaussDB支持范围(0 ~ 6),微秒末位零不显示。 |
4 | DBTIMEZONE | 支持,有差异 | GaussDB不支持自带tz的timestamp类型接口的调用。 |
5 | EXTRACT | 支持 | - |
6 | LAST_DAY | 支持,有差异 | 返回值类型不一致。 |
7 | LOCALTIMESTAMP | 支持,有差异 | Oracle数据库参数支持范围(0 ~ 9)。 GaussDB支持范围(0 ~ 6),微秒末位零不显示。 |
8 | MONTHS_BETWEEN | 支持,有差异 | 入参类型不一致。 |
9 | NEW_TIME | 支持,有差异 | new_time函数的第一个入参为字面量时,字面量的格式以及函数的返回值类型均与Oracle数据库不一致。 |
10 | NEXT_DAY | 支持 | - |
11 | NUMTODSINTERVAL | 支持,有差异 | GaussDB不支持dsinterval类型,暂时用interval兼容dsinterval类型。 |
12 | NUMTOYMINTERVAL | 支持,有差异 | GaussDB不支持yminterval类型,暂时用interval兼容yminterval类型。 |
13 | SESSIONTIMEZONE | 支持,有差异 |
|
14 | SYS_EXTRACT_UTC | 支持 | - |
15 | SYSDATE | 支持,有差异 | 返回值类型不一致。 |
16 | SYSTIMESTAMP | 支持,有差异 | GaussDB毫秒计算只支持6位,Oracle数据库支持9位。 |
17 | TO_CHAR | 支持,有差异 | fmt‘5’未在Oracle数据库文档中,未适配。 |
18 | TO_DSINTERVAL | 支持,有差异 | GaussDB不支持dsinterval类型,暂时用interval兼容dsinterval类型。 |
19 | TO_TIMESTAMP | 支持,有差异 | GaussDB毫秒计算只支持6位,Oracle数据库支持9位。 |
20 | TO_TIMESTAMP_TZ | 支持,有差异 | GaussDB的timestamptz等价于Oracle的timestampwithlocaltimezone,缺少Oracle对应的timestamptz类型。nls_date_language只支持ENGLISH和AMERICAN两种语言。 |
21 | TO_YMINTERVAL | 支持,有差异 | GaussDB不支持yminterval类型,暂时用interval兼容yminterval类型。 |
22 | TRUNC | 支持,有差异 | GaussDB返回的类型与第一个入参的类型保持一致,Oracle始终返回date类型,另外支持指定的format也有区别,具体支持的列表详见《开发指南》的“SQL参考 > 函数和操作符 > 时间和日期处理函数和操作符”章节。 |
23 | TZ_OFFSET | 支持,有差异 | 接收一个时区名称为入参的时候,时区名称的类型比Oracle数据库要少。 |
序号 | Oracle数据库 | GaussDB数据库 | 差异 |
|---|---|---|---|
1 | GREATEST | 支持,有差异 |
|
2 | LEAST | 支持,有差异 |
|
序号 | Oracle数据库 | GaussDB数据库 | 差异 |
|---|---|---|---|
1 | ASCIISTR | 支持 | - |
2 | CAST | 支持,有差异 |
|
3 | HEXTORAW | 支持 | - |
4 | RAWTOHEX | 支持 | - |
5 | TO_BINARY_DOUBLE | 支持,有差异 | GaussDB不支持nlsparam参数。 |
6 | TO_BINARY_FLOAT | 支持,有差异 | GaussDB不支持nlsparam参数。 |
7 | TO_BLOB | 支持,有差异 |
|
8 | TO_CLOB | 支持 | - |
9 | TO_DATE | 支持,有差异 |
|
10 | TO_MULTI_BYTE | 支持 | - |
11 | TO_NCHAR | 支持,有差异 |
|
12 | TO_NUMBER | 支持,有差异 | GaussDB不支持NLS_PARAM参数。 GaussDB与Oracle的fmt选项差异点描述: 1、$ GaussDB不支持该fmt。 2、, (comma) GaussDB:逗号可以出现在fmt的任意位置。 Oracle:
3、B GaussDB未实现该功能。 4、C GaussDB不支持NLS参数。 5、G GaussDB不支持NLS参数。 6、L GaussDB不支持NLS参数。 7、U GaussDB不支持NLS参数。 8、D GaussDB不支持NLS参数。 9、PR GaussDB:等同于S,返回负数。 Oracle:
10、RN | rn GaussDB未实现该功能。 TM| TM9 | TMe GaussDB未实现该功能。 11、V GaussDB未实现该功能。 12、FM GaussDB当有fm时,允许format中的逗号比原数据中多,不需要严格保持一致。 Oracle返回值保留前后的空格。 13、EEEE GaussDB未实现该功能。 |
13 | TO_SINGLE_BYTE | 支持 | - |
14 | TREAT | 支持,有差异 | GaussDB不支持使用“.”操作符取值,不支持转化为object类型。 |
15 | UNISTR | 支持,有差异 | GaussDB只支持UTF-8编码,Oracle数据库支持UTF-8和UTF-16编码。 |
序号 | Oracle数据库 | GaussDB数据库 | 差异 |
|---|---|---|---|
1 | EXISTSNODE | 支持,有差异 | 在入参有命名空间时,xpath和命名空间都需要定义别名。 |
2 | EXTRACTVALUE | 支持,有差异 | 目前仅支持xpath1.0版本。 |
3 | SYS_XMLAGG | 支持,有差异 | xmlagg的别名,可使用xmlagg代替。 |
4 | XMLAGG | 支持 | - |
5 | XMLCOMMENT | 支持 | - |
6 | XMLCONCAT | 支持 | - |
7 | XMLELEMENT | 支持,有差异 | xmlelement和xmlattributes的name字段赋值为NULL时,行为与Oracle不一致。
|
8 | XMLEXISTS | 支持,有差异 | GaussDB入参为xml类型。 |
9 | XMLFOREST | 支持,有差异 | GaussDB返回值为xml类型。 GaussDB不支持EVALNAME语法。 |
10 | XMLPARSE | 支持,有差异 | GaussDB返回值为xml类型。 GaussDB不支持WELLFORMED语法。 |
11 | XMLROOT | 支持,有差异 | GaussDB返回值为xml类型。 |
12 | JSON_OBJECT | 支持 | - |
13 | XMLTABLE | 支持,有差异 | GaussDB从xml中选取数据使用的为XPath 1.0表达式,不支持声明默认命名空间,不支持多组输入及取别名,不支持省略传入数据的passing_clause子句,不支持RETURNING SEQUENCE BY REF子句和( SEQUENCE ) BY REF子句。 |
14 | GETSTRINGVAL | 支持 | - |
15 | GETCLOBVAL | 支持 | - |
16 | XMLSEQUENCE | 支持 | - |
序号 | Oracle数据库 | GaussDB数据库 | 差异 |
|---|---|---|---|
1 | DECODE | 支持 | - |
2 | DUMP | 支持,有差异 | 因存储格式不同,GaussDB数值和时间类型返回结果和Oracle数据库不一致。如,GaussDB中select dump(123); 返回Typ=23 Len=4: 123,0,0,0。Oracle中select dump(123) from dual; 返回Typ=2 Len=3: 194,2,24。 |
3 | ORA_HASH | 支持,有差异 | GaussDB中有以下行为:
|
4 | VSIZE | 支持,有差异 | 因存储格式不同,GaussDB数值和时间类型返回结果和Oracle数据库不一致。如GaussDB中select vsize(999); 返回4。Oracle中select vsize(999) from dual; 返回3。 |
序号 | Oracle数据库 | GaussDB数据库 | 差异 |
|---|---|---|---|
1 | SYS_CONTEXT | 支持,有差异 | GaussDB对不支持的参数返回NULL。 以下为不支持的参数列表:
|
2 | SYS_GUID | 支持 | - |
3 | USER | 支持,有差异 | 返回值类型不一致。 |
4 | USERENV | 支持,有差异 | GaussDB对不支持的参数返回NULL。 以下为不支持的参数列表:
|

