VAR_POP 함수와 VARIANCE 함수는 동일하며, 모든 행에 대한 연산식 값들에 대한 분산, 즉 모분산을 반환한다. 분모는 모든 행의 개수이다. 하나의 연산식 expression만 인자로 지정되며, 연산식 앞에 DISTINCT 또는 UNIQUE 키워드를 포함시키면 연산식 값 중 중복을 제거한 후, 모분산을 구하고, 키워드가 생략되거나 ALL인 경우에는 모든 값에 대해 모분산을 구한다.
리턴 값은 DOUBLE 타입이며, 결과 계산에 사용할 행이 없으면 NULL을 반환한다.
다음은 함수에 적용된 공식이다.
VAR_POP = (1/N) * SUM( { xI - AVG(x) }2 )
주의 CUBRID 2008 R3.1 이하 버전에서 VARIANCE 함수는 VAR_SAMP 함수와 같은 기능을 수행했다.
VAR_POP( [ DISTINCT | UNIQUE | ALL] expression )
CREATE TABLE test_table (d double);
INSERT INTO test_table VALUES(78), (63.65), (230.54), (32), (17.2), (195.7689), (57.57);
SELECT VAR_POP(d) FROM test_table;
var_pop(d)
==========================
5.886658366433878e+003
SELECT VAR_POP(POWER(d,2)+d*2+1) FROM test_table;
var_pop( power(d, 2)+d*2+1)
=============================
3.983875901862495e+008
TRUNCATE TABLE test_table;
SELECT VAR_POP(d) FROM test_table;
var_pop(d)
==========================
NULL