返回首页

gbase数据、南大通用产品文档:GBase8a

更新日期:2024年09月11日

与Oracle 数据库DBLINK 配置注意事项
问题现象
关于GBase 8a MPP Cluster 集群与Oracle 数据库DBLINK 配置dataSource_dbna
me 注意事项。
解决方法

在GBas 8a MPP Cluster 集群与Oracle 数据库配置DBLINK。dblink 配置文
件参数:dataSource_dbname=orcl ,此处应填写Oracle 的SID_NAME,而不
是SERVICE_NAME;

大多数情况下,SID_NAME 和SERVICE_NAME 是一致的,但也有不一致的
情况。在这种情况下,需要登录oracle 数据库,执行如下操作查看:
SID_NAME: select INSTANCE_NAME from v$instance

(1) REGEXP_COUNT
功能描述:
匹配字符串在源串中出现的次数。
用途:
在source_char 中找到与pattern 指定的正则表达式相匹配的字符串,返回匹配字
符串在source_char 串中出现的次数。
语法:

REGEXP_COUNT ( source_char, pattern [, position [, match_param]])
其中,
1.
source_char:源字符串。可以是字符串或列名。当源字符串source_char 是列
名时,支持的类型为char 和varchar 型。
2.
pattern:正则表达式。支持的数据类型为char 和varchar 型。每个正则表达式
最多可包含512 个字节。
3.
position:开始匹配的位置,如果不指定默认为1,即从source_char 的第一个
字符开始匹配。同regexp_instr()的position。
4.
match_paramater:可通过设置该参数改变默认的匹配功能行为。默认情况下
“.”不匹配换行符,源字符串被看作一行。参数可选项如下:
i:大小写不敏感;
c:大小写敏感;
n:点号(.)不匹配换行符号;
m:多行模式;
举例:
SELECT REGEXP_COUNT('123123123123123', '(12)3', 1, 'i') REGEXP_COUNT

What’s new in GBase 8s V8.8


南大通用数据技术股份有限公司
2/60


FROM DUAL;

(2) VAR_POP
功能描述:
返回输入值的方差。
语法:

计算公式:
(SUM(expr2) - SUM(expr)2 / COUNT(expr)) / COUNT(expr)
参数说明:
参数为数值型或能通过隐式类型转换为数值型的表达式,
其他数据类型报错。
参数
为包含列的表达式且值包含null 时,null 所在的行不纳入计算。参数为null 函数返回值
为空。
使用说明:
1.
函数返回值类型为decimal;
2.
与group by 子句连用,为聚集函数。与over 子句连用,为分析函数。
举例:
下例计算1998 年每月销售的累积总体和样本变量(本例在SH 用户下运行)。
SELECT t.calendar_month_desc,
VAR_POP(SUM(s.amount_sold))
OVER (ORDER BY t.calendar_month_desc) "Var_Pop",
VAR_SAMP(SUM(s.amount_sold))
OVER (ORDER BY t.calendar_month_desc) "Var_Samp"
FROM sales s, times t
WHERE s.time_id = t.time_id AND t.calendar_year = 1998
GROUP BY t.calendar_month_desc;

(3) VAR_SAMP
功能描述:
返回一组数据的样本方差。
语法:

What’s new in GBase 8s V8.8


南大通用数据技术股份有限公司
3/60



计算公式:
(SUM(expr - (SUM(expr) / COUNT(expr)))2) / (COUNT(expr) - 1)
参数说明:
参数为数值型或能通过隐式类型转换为数值型的表达式,
其他数据类型报错。
参数
为包含列的表达式且值包含null 时,null 所在的行不纳入计算。参数为null 函数返回值
为空。
使用说明:
1.
函数返回值类型为decimal;
2.
与group by 子句连用,为聚集函数。与over 子句连用,为分析函数。
举例:
下例计算1998 年每月销售的累积总体和样本变量。
SELECT t.calendar_month_desc,
VAR_POP(SUM(s.amount_sold))
OVER (ORDER BY t.calendar_month_desc) "Var_Pop",
VAR_SAMP(SUM(s.amount_sold))
OVER (ORDER BY t.calendar_month_desc) "Var_Samp"
FROM sales s, times t
WHERE s.time_id = t.time_id AND t.calendar_year = 1998
GROUP BY t.calendar_month_desc;

(4) STDDEV_POP
功能描述:
返回输入值的总体标准差。
语法:

计算公式:
VAR_POP 函数值的算术平方根。
参数说明:

What’s new in GBase 8s V8.8


南大通用数据技术股份有限公司
4/60


参数为数值型或能通过隐式类型转换为数值型的表达式,
其他数据类型报错。
参数
为包含列的表达式且值包含null 时,null 所在的行不纳入计算。参数为null,函数返回
值为空。
使用说明:
1.
函数返回值类型为decimal;
2.
与group by 子句连用,为聚集函数。与over 子句连用,为分析函数。
举例:
下例返回部门的薪水值的总体标准偏差。
SELECT deptno,ename,sal,stddev_pop(sal) over (partition by deptno)
AS pop FROM emp;

(5) STDDEV_SAMP
功能描述:
累积样本标准差并返回样本方差的平方根。
语法:

计算公式:
VAR_SAMP 函数的算术平方根。
参数说明:
参数为数值型或能通过隐式类型转换为数值型的表达式,
其他数据类型报错。
参数
为包含列的表达式且值包含null 时,null 所在的行不纳入计算。参数为null,函数返回
值为空。
使用说明:
1.
函数返回值类型为decimal;
2.
与group by 子句连用,为聚集函数。与over 子句连用,为分析函数。
举例:
下例返回部门20、30、60 的薪水值的样本标准偏差。
SELECT deptno,ename,hiredate,sal,stddev_samp(sal) over(partition BY
deptno ORDER BY hiredate rows between unbounded preceding AND

What’s new in GBase 8s V8.8


南大通用数据技术股份有限公司
5/60


current row) AS cums FROM emp;

(6) STDDEV
功能描述:
计返回样本标准差表达式 ,
可以用它作为聚合或分析函数。
不同于STDDEV_SAMP
函数,当只有一行数据时,STDDEV 返回0,STDDEV_SAMP 返回null 值。
语法:

举例:
下例返回部门30 按雇佣日期排序的薪水值的累积标准偏离。
SELECT ename,hiredate,sal,stddev(sal) over(order by hiredate) a
FROM emp WHERE deptno=20;

(7) COVAR_POP
功能描述:
返回一组数对的总体协方差。
语法:

计算公式:
(SUM(expr1 * expr2) - SUM(expr2) * SUM(expr1) / n) / n
参数说明:
1.
计算公式中的n 指expr1,expr2 两个表达式值中同时不为null 的记录数;
2.
参数为数值型或能通过隐式类型转换为数值型的表达式,其他数据类型报错。
任何一个参数,
值包含null时,
null所在的行不纳入计算。
两个参数同时为null,
函数返回值为空。
使用说明:
1.
函数返回值类型为decimal;

What’s new in GBase 8s V8.8


南大通用数据技术股份有限公司
6/60


2.
与group by 子句连用,为聚集函数。与over 子句连用,为分析函数。
举例:
下例CUM_COVP 返回定价和最小产品价格的累积总体协方差。
SELECT prod_id, supplier_id,
COVAR_POP(PROD_LIST_PRICE, PROD_MIN_PRICE)
OVER (ORDER BY prod_id, supplier_id) AS CUM_COVP,
COVAR_SAMP(prod_list_price, PROD_MIN_PRICE)
OVER (ORDER BY prod_id, supplier_id) AS CUM_COVS
FROM products p
WHERE prod_category_id = 205
ORDER BY prod_id, supplier_id;

(8) COVAR_SAMP
功能描述:
返回一组数对的样本协方差。
语法:

计算公式:
(SUM(expr1 * expr2) - SUM(expr1) * SUM(expr2) / n) / (n-1)
参数说明:
1.
计算公式中的n 指expr1,expr2 两个表达式值中同时不为null 的记录数;
2.
参数为数值型或能通过隐式类型转换为数值型的表达式,其他数据类型报错。
任何一个参数,
值包含null时,
null所在的行不纳入计算。
两个参数同时为null,
函数返回值为空;
使用说明:
1.
函数返回值类型为decimal;
2.
与group by 子句连用,为聚集函数。与over 子句连用,为分析函数。
举例:
下例CUM_COVP 返回定价和最小产品价格的累积总体协方差
SELECT prod_id, supplier_id,
COVAR_POP(PROD_LIST_PRICE, PROD_MIN_PRICE)
OVER (ORDER BY prod_id, supplier_id) AS CUM_COVP,

What’s new in GBase 8s V8.8


南大通用数据技术股份有限公司
7/60


COVAR_SAMP(prod_list_price, PROD_MIN_PRICE)
OVER (ORDER BY prod_id, supplier_id) AS CUM_COVS
FROM products p
WHERE prod_category_id = 205
ORDER BY prod_id, supplier_id;

(9) CORR
功能描述:
返回一组数对的相关系数。
语法:

计算公式:
COVAR_POP(expr1, expr2) / (STDDEV_POP(expr1) * STDDEV_POP(expr2))
参数说明:
参数为数值型或能通过隐式类型转换为数值型的表达式,
其他数据类型报错。
任何
一个参数,值包含null 时,null 所在的行不纳入计算。两个参数同时为null,函数返回
值为空。
使用说明:
1.
函数返回值类型为decimal;
2.
与group by 子句连用,为聚集函数。与over 子句连用,为分析函数。

|
5 | 133000 | 121518.221409606 |