云数据库 GAUSSDB-系统函数:单行函数
单行函数
序号 |
Oracle数据库 |
|
---|---|---|
1 |
数值函数 |
支持 |
2 |
返回字符值的字符函数 |
支持 |
3 |
返回数值的字符函数 |
支持 |
4 |
字符集函数 |
支持 |
5 |
Collation函数 |
不支持 |
6 |
日期时间函数 |
支持 |
7 |
一般比较函数 |
支持 |
8 |
转换函数 |
支持 |
9 |
大对象函数 |
支持 |
10 |
集合函数 |
不支持 |
11 |
分层函数 |
支持 |
12 |
数据挖掘功能函数 |
不支持 |
13 |
XML函数 |
支持,有差异 |
14 |
JSON函数 |
支持 |
15 |
编码和解码功能函数 |
支持 |
16 |
NULL相关函数 |
支持 |
17 |
环境和标识符函数 |
支持 |
18 |
聚合函数 |
支持 |
19 |
分析函数 |
不支持 |
20 |
对象引用函数 |
不支持 |
21 |
模型函数 |
不支持 |
22 |
OLAP函数 |
不支持 |
23 |
数据盒功能函数 |
不支持 |
24 |
关于用户定义的函数 |
支持 |
序号 |
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 |
支持。 |
- |
|
14 |
MOD |
支持,有差异。 |
|
15 |
NANVL |
支持,有差异。 |
不支持直接声明或浮点数除0得到NaN |
16 |
POWER |
支持。 |
- |
17 |
REMAINDER |
支持,有差异。 |
当两个入参中有一个是int类型时,另一个参数必须为int、numeric类型或字面值整数(无小数点的合法数字如:‘12’) |
18 |
ROUND |
支持,有差异。 |
|
19 |
SIGN |
支持。 |
- |
20 |
SIN |
支持。 |
- |
21 |
SINH |
支持。 |
- |
22 |
SQRT |
支持。 |
- |
23 |
TAN |
支持。 |
- |
24 |
TANH |
支持,有差异。 |
返回值精度有差异。 |
25 |
TRUNC |
支持。 |
- |
26 |
W IDT H_BUCKET |
支持。 |
- |
序号 |
Oracle数据库函数 |
GaussDB数据库是否支持 |
差异 |
---|---|---|---|
1 |
CHR |
支持,有差异 |
|
2 |
CONCAT |
支持 |
- |
3 |
INITCAP |
支持 |
- |
4 |
LOWER |
支持,有差异 |
|
5 |
LPAD |
支持 |
- |
6 |
LTRIM |
支持,有差异 |
返回值类型不一致,输入是字符数据类型时Oracle返回VARCHAR2类型,输入是数据库创建指定的国家字符集时Oracle返回NVARCHAR2类型,输入是LOB类型时Oracle返回LOB类型,GaussDB返回TEXT类型。 |
7 |
NLS_LOWER |
支持,有差异 |
|
8 |
NLS_UPPER |
支持,有差异 |
|
9 |
NLSSORT |
支持 |
- |
10 |
REGEXP_REPLACE |
支持,有差异 |
- |
11 |
REGEXP_SUBSTR |
支持 |
- |
12 |
REPLACE |
支持 |
- |
13 |
RPAD |
支持 |
- |
14 |
RTRIM |
支持 |
- |
15 |
SUBSTR |
支持 |
- |
16 |
TRANSLATE |
支持 |
- |
17 |
TRIM |
支持 |
- |
18 |
UPPER |
支持,有差异 |
|
19 |
ASCII |
支持,有差异 |
返回值类型不同,Oracle数据库返回类型为uint4,GaussDB为int4。 |
20 |
INSTR |
支持 |
- |
21 |
INSTRB |
支持 |
- |
22 |
LENGTH |
支持 |
- |
23 |
REGEXP_COUNT |
支持,有差异 |
。 |
24 |
REGEXP_INSTR |
支持 |
- |
25 |
EMPTY_CLOB |
支持,有差异 |
clob不支持定位器 |
26 |
NCHR |
支持,有差异 |
|
序号 |
Oracle数据库函数 |
GaussDB数据库是否支持 |
差异 |
---|---|---|---|
1 |
ADD_MONTHS |
支持,有差异 |
|
2 |
CURRENT_DATE |
支持,有差异 |
不支持nls_date_format参数设置时间显示格式。 |
3 |
CURRENT_TIMESTAMP |
支持,有差异 |
Oracle数据库参数支持范围(0-9),GaussDB支持范围(0-6),微秒末位零不显示。 |
4 |
DBTIMEZONE |
支持,有差异 |
不支持自带tz的timestamp类型接口的调用。 |
5 |
EXTRACT |
支持 |
- |
6 |
LAST_DAY |
支持,有差异 |
返回值类型不一致,GaussDB返回值类型为timestamp without time zone,Oracle返回值类型为date。 |
7 |
LOCALTIMESTAMP |
支持 |
- |
8 |
MONTHS_BETWEEN |
支持,有差异 |
入参类型不一致,GaussDB入参均为timestamp without time zone类型,Oracle入参均为date类型。 |
9 |
NEW_TIME |
支持,有差异 |
new_time函数的第一个入参为字面量时,字面量的格式以及函数的返回值类型均与Oracle数据库不一致。 |
10 |
NEXT_DAY |
支持 |
- |
11 |
NUMTODSINTERVAL |
支持,有差异 |
不支持dsinterval类型,暂时用interval兼容dsinterval类型。 |
12 |
NUMTOYMINTERVAL |
支持,有差异 |
不支持yminterval类型,暂时用interval兼容yminterval类型。 |
13 |
SESSIONTIMEZONE |
支持,有差异 |
- |
14 |
SYS_EXTRACT_UTC |
支持 |
- |
15 |
SYSDATE |
支持,有差异 |
返回值类型不一致,GaussDB返回值类型为timestamp without time zone,Oracle返回值类型为date。 |
16 |
TO_CHAR |
支持,有差异 |
fmt‘5’未在Oracle数据库文档中,未适配。 |
17 |
TO_DSINTERVAL |
支持,有差异 |
不支持dsinterval类型,暂时用interval兼容dsinterval类型。 |
18 |
TO_TIMESTAMP |
支持,有差异 |
GaussDB毫秒计算只支持6位,Oracle数据库支持9位。 |
19 |
TO_TIMESTAMP_TZ |
支持,有差异 |
GaussDB的timestamptz等价于Oracle的timestampwithloacltimezone,缺少Oracle对应的timestamptz类型。nls_date_language只支持ENGLISH和AMERICAN两种语言。 |
20 |
TO_YMINTERVAL |
支持,有差异 |
不支持yminterval类型,暂时用interval兼容yminterval类型。 |
21 |
TZ_OFFSET |
支持,有差异 |
接受一个时区名称为入参的时候,时区名称的类型比Oracle数据库要少。 |
序号 |
Oracle数据库函数 |
GaussDB数据库是否支持 |
差异 |
---|---|---|---|
1 |
GREATEST |
支持,有差异 |
接受一个时区名称为入参的时候,时区名称的类型比Oracle数据库要少。 |
2 |
LEAST |
支持,有差异 |
|
序号 |
Oracle数据库函数 |
GaussDB数据库是否支持 |
差异 |
---|---|---|---|
1 |
ASCIISTR |
支持,有差异 |
GaussDB数值类型返回结果与Oracle数据库不一致。 |
2 |
CAST |
支持,有差异 |
|
3 |
CONVERT |
支持 |
- |
4 |
HEXTORAW |
支持 |
- |
5 |
RAWTOHEX |
支持 |
- |
6 |
TO_BINARY_DOUBLE |
支持,有差异 |
不支持nlsparam参数 |
7 |
TO_BINARY_FLOAT |
支持,有差异 |
不支持nlsparam参数 |
8 |
TO_BLOB |
支持,有差异 |
|
9 |
TO_CLOB |
支持 |
- |
10 |
TO_DATE |
支持,有差异 |
|
11 |
TO_MULTI_BYTE |
支持 |
- |
12 |
TO_NCHAR |
支持,有差异 |
将入参的类型直接转换为text。 |
13 |
TO_NUMBER |
支持,有差异 |
不支持nlsparam参数。 |
14 |
TO_SINGLE_BYTE |
支持 |
- |
15 |
TREAT |
支持,有差异 |
不支持使用“.”操作符取值,不支持转化为object类型。 |
16 |
UNISTR |
支持,有差异 |
GaussDB只支持UTF-8编码,Oracle数据库支持UTF-8和UTF-16编码。 |
序号 |
Oracle数据库函数 |
GaussDB数据库是否支持 |
差异 |
---|---|---|---|
1 |
EMPTY_BLOB |
支持 |
- |
序号 |
Oracle数据库函数 |
GaussDB数据库是否支持 |
差异 |
---|---|---|---|
1 |
SYS_CONNECT_BY_PATH |
支持,有差异 |
第一个入参指定的列的类型仅支持CHAR/VARCHAR/NVARCHAR2/TEXT类型 |
序号 |
Oracle数据库函数 |
GaussDB数据库是否支持 |
差异 |
---|---|---|---|
1 |
EXISTSNODE |
支持,有差异 |
在入参有命名空间时,xpath和命名空间都需要定义别名。 |
2 |
EXTRACTVALUE |
不支持 |
- |
3 |
SYS_XMLAGG |
支持,有差异 |
xmlagg的别名,可使用xmlagg代替。 |
4 |
XMLAGG |
支持 |
- |
5 |
XMLCOMMENT |
支持 |
- |
6 |
XMLCONCAT |
支持 |
- |
7 |
XMLELEMENT |
支持,有差异 |
- |
8 |
XMLEXISTS |
支持,有差异 |
入参为xml类型,部分语法不同。 |
9 |
XMLFOREST |
支持,有差异 |
返回值为xml类型,部分语法不同。 |
10 |
XMLPARSE |
支持,有差异 |
返回值为xml类型,部分功能存在差异。 |
11 |
XMLROOT |
支持,有差异 |
返回值为xml类型,部分功能存在差异。 |
12 |
JSON_OBJECT |
支持 |
- |
13 |
XMLTABLE |
支持,有差异 |
从xml中选取数据使用的为XPath 1.0表达式,不支持声明默认命名空间,不支持多组输入及取别名,不支持省略传入数据的passing_clause子句,不支持RETURNING SEQUENCE BY REF子句和( SEQUENCE ) BY REF子句。 |
序号 |
Oracle数据库函数 |
GaussDB数据库是否支持 |
差异 |
---|---|---|---|
1 |
DECODE |
支持 |
- |
2 |
DUMP |
支持,有差异 |
因存储格式不同,数值和时间类型返回结果和Oracle数据库不一致。 |
3 |
ORA_HASH |
支持,有差异 |
|
4 |
VSIZE |
支持,有差异 |
数值和时间类型返回结果和Oracle数据库不一致,如GaussDB select vsize(999); 返回3;Oracle select vsize(999) from dual; 返回4。 |
序号 |
Oracle数据库函数 |
GaussDB数据库是否支持 |
差异 |
---|---|---|---|
1 |
COALESCE |
支持 |
- |
2 |
LNNVL |
支持,有差异 |
入参condition不完全一致。 |
3 |
NULLIF |
支持 |
- |
4 |
NVL |
支持 |
- |
5 |
NVL2 |
支持 |
- |
序号 |
Oracle数据库函数 |
GaussDB数据库是否支持 |
差异 |
---|---|---|---|
1 |
SYS_CONTEXT |
支持,有差异 |
GaussDB对不支持的参数返回NULL。 以下为不支持的参数列表: 'action' 'is_application_root' 'is_application_pdb' 'audited_cursorid' 'authenticated_identity' 'authentication_data' 'authentication_method' 'cdb_domain' 'cdb_name' 'client_identifier' 'con_id' 'con_name' 'current_sql_length' 'db_domain' 'db_supplemental_log_level' 'dblink_info' 'drain_status' 'entryid' 'enterprise_identity' 'fg_job_id' 'global_uid' 'identification_type' 'instance' 'is_dg_rolling_upgrade' 'ldap_server_type' 'module' 'network_protocol' 'nls_calendar' 'nls_sort' 'nls_territory' 'oracle_home' 'os_user' 'platform_slash' 'policy_invoker' 'proxy_enterprise_identity' 'proxy_user' 'proxy_userid' 'scheduler_job' 'session_edition_id' 'session_edition_name' 'sessionid' 'statementid' 'terminal' 'unified_audit_sessionid' 'session_default_collation' 'client_info' 'bg_job_id' 'client_program_name' 'current_bind' 'global_context_memory' 'host' 'current_sqln' |
2 |
USER |
支持,有差异 |
返回值类型不一致,GaussDB返回值类型为name,Oracle返回值类型为varchar2。 |
序号 |
Oracle数据库函数 |
GaussDB数据库是否支持 |
差异 |
---|---|---|---|
1 |
AVG |
支持,有差异 |
未考虑窗口函数(over子句)的差异点。 |
2 |
CORR |
支持 |
- |
3 |
COUNT |
支持 |
- |
4 |
COVAR_POP |
支持 |
- |
5 |
COVAR_SAMP |
支持 |
- |
6 |
CUME_DIST |
支持 |
- |
7 |
DENSE_RANK |
支持 |
- |
8 |
FIRST |
支持 |
- |
9 |
GROUPING |
支持 |
- |
10 |
LAST |
支持 |
- |
11 |
LISTAGG |
支持 |
- |
12 |
MAX |
支持 |
- |
13 |
MEDIAN |
支持 |
- |
14 |
MIN |
支持 |
- |
15 |
PERCENT_RANK |
支持 |
- |
16 |
PERCENTILE_CONT |
支持 |
- |
17 |
RANK |
支持 |
- |
18 |
REGR_ (Linear Regression) |
支持 |
- |
19 |
STDDEV |
支持 |
- |
20 |
STDDEV_POP |
支持 |
- |
21 |
STDDEV_SAMP |
支持 |
- |
22 |
SUM |
支持 |
- |
23 |
VAR_POP |
支持 |
- |
24 |
VAR_SAMP |
支持 |
- |
25 |
VARIANCE |
支持 |
- |
26 |
WM_CONCAT |
支持,有差异 |
使用GaussDB已经兼容的LISTAGG,STRING_AGG函数,兼容此功能。 |
序号 |
Oracle数据库函数 |
GaussDB数据库是否支持 |
---|---|---|
1 |
FIRST_VALUE |
支持 |
2 |
LAG |
支持 |
3 |
LAST_VALUE |
支持 |
4 |
LEAD |
支持 |
5 |
NTH_VALUE |
支持 |
6 |
NTILE |
支持 |
7 |
ROW_NUMBER |
支持 |
8 |
RATIO_TO_REPORT |
支持 |
- GaussDB函数_GaussDB数据库函数_高斯数据库函数_华为云
- GaussDB支持的函数_GaussDB函数类型解析_高斯数据库支持的函数-华为云
- 调用函数_函数调用方式_函数工作流 FunctionGraph-华为云
- GaussDB数据库函数_GaussDB函数和操作符_高斯数据库函数-华为云
- GaussDB数据库函数_GaussDB介绍_高斯数据库函数
- 什么是函数工作流_函数托管计算服务_函数工作流 FunctionGraph-华为云
- 使用容器镜像部署函数_函数部署_函数工作流 FunctionGraph-华为云
- 如何使用模板创建函数_模板创建函数_函数工作流 FunctionGraph-华为云
- 使用SpringBoot构建HTTP函数_functiongraph_函数工作流
- 使用函数工作流资源成本降低70%_函数能力_函数工作流 FunctionGraph-华为云