DECIMAL_STDDEV

说明

返回一组numeric值的采样标准差。

语法

decimal_stddev ::=

参数

expression

一组有三个numeric值的数组类型,数组中第一个数值为样本数量,第二个数值为样本值的和,第三个数值为样本值的平方和。

返回值

求得的一组numeric值的采样标准差。

注解

在使用该函数计算采样标准差时:样本数量为0返回null,只有一个样本返回0,采样标准差为负返回0。

示例

示例1: 求一组numeric值的采样标准差

-- 清理环境
DROP TABLE tab1 CASCADE;

-- 创建表并插入数据
CREATE TABLE tab1(a int[]);

-- 样本数量为0,返回NULL
INSERT INTO tab1 a VALUES('{0,3,8}');

SELECT DECIMAL_STDDEV(a) FROM tab1;
DECIMAL_STDDEV(numeric)      |
-----------------------------
null                         |
总数目:1

-- 样本数量为1,返回0
UPDATE tab1 SET a=('{1,2,6}');

SELECT DECIMAL_STDDEV(a) FROM tab1;
DECIMAL_STDDEV(numeric)      |
-----------------------------
0                            |
总数目:1

-- 采样标准差为负,返回0
UPDATE tab1 SET a=('{2,4,3}');

SELECT DECIMAL_STDDEV(a) FROM tab1;
DECIMAL_STDDEV(numeric)      |
-----------------------------
0                            |
总数目:1

--  求采样标准差
UPDATE tab1 SET a=('{2,4,19}');

SELECT DECIMAL_STDDEV(a) FROM tab1;
DECIMAL_STDDEV(numeric)      |
-----------------------------
3.3166247903554              |
总数目:1

--  删除表
DROP TABLE tab1;