返回首页

gbase数据、南大通用产品文档:GBase8s新增函数

更新日期:2024年09月11日

(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 子句连用,为分析函数。

_gbase_subquery_cache_buffer_mode
取值:[0|1]
默认值:0
说明:控制子查询语句缓存的分配方式。
修改方式:
可使用set 语句修改值也可在配置文件中修改值。
适用于session、
global
范围均可。

GBase 8a MPP Cluster 参数手册
文档版本2022-06-07
南大通用数据技术股份有限公司
126
14日志相关参数


加载dblink 扩展
CREATE EXTENSION dblink;

打开一个到远程数据库的持久连接
SELECT dblink_connect(text connstr);

关闭一个到远程数据库的持久连接
SELECT dblink_disconnect();

在远程数据库执行查询
SELECT * FROM dblink(text connstr, text sql);

在远程数据库执行命令
SELECT dblink_exec(text connstr, text sql);

GBase 8c V5 开发者手册
南大通用数据技术股份有限公司
1144

返回所有打开的命名dblink 连接的名称
SELECT dblink_get_connections();

发送一个异步查询到远程数据库
SELECT dblink_send_query(text connname, text sql);

检查连接是否正在忙于一个异步查询
SELECT dblink_is_busy(text connname);

删除扩展
DROP EXTENSION dblink;