적용 대상:SQL 서버
Azure SQL Database
Azure SQL Managed Instance
Azure Synapse Analytics
Microsoft Fabric
의 SQL 분석 엔드포인트Microsoft Fabric
의 웨어하우스Microsoft Fabric의 SQL 데이터베이스
지정한 식에 있는 모든 값의 통계적 분산을 반환합니다. OVER 절이 뒤에 올 수도 있습니다.
구문
-- Aggregate Function Syntax
VAR ( [ ALL | DISTINCT ] expression )
-- Analytic Function Syntax
VAR ([ ALL ] expression) OVER ( [ partition_by_clause ] order_by_clause)
인수
ALL
모든 값에 함수를 적용합니다. 기본값은 ALL입니다.
DISTINCT
각 고유 값을 고려하도록 지정합니다.
expression
bit 데이터 형식을 제외한 정확한 수치 또는 근사치 데이터 형식 범주의 expression입니다. 집계 함수와 하위 쿼리는 허용되지 않습니다.
오버 ( [ partition_by_clause ] order_by_clause)
partition_by_clause는 FROM 절이 생성한 결과 집합을 함수가 적용되는 파티션으로 나눕니다. 지정하지 않을 경우 쿼리 결과 집합의 모든 행이 단일 그룹으로 취급됩니다.
order_by_clause는 작업이 수행되는 논리적 순서를 결정합니다.
order_by_clause가 필요합니다. 자세한 내용은 OVER 절(Transact-SQL)을 참조하세요.
반환 형식
float
설명
VAR가 SELECT 문의 모든 항목에 대해 사용되는 경우, 결과 집합의 각 값은 계산에 포함됩니다. VAR와 함께 사용할 수 있는 것은 숫자 열뿐입니다. Null 값은 무시됩니다.
VAR은 OVER 및 ORDER BY 절 없이 사용되는 경우 결정적 함수이고, OVER 및 ORDER BY 절과 함께 지정되는 경우 비결정적 함수입니다. 자세한 내용은 Deterministic and Nondeterministic Functions을 참조하세요.
예제
1. VAR 사용하기
다음 예시는 AdventureWorks2025 데이터베이스 내 테이블에 있는 SalesPerson 모든 보너스 값의 분산을 반환합니다.
SELECT VAR(Bonus)
FROM Sales.SalesPerson;
GO
예제: Azure Synapse Analytics
2. VAR 사용하기
다음 예에서는 테이블 dbo.FactSalesQuota의 판매 할당량 값의 통계적 분산을 반환합니다. 첫 번째 열은 모든 고유 값의 분산을 포함하고 두 번째 열은 중복 값을 포함한 모든 값의 분산을 포함합니다.
-- Uses AdventureWorks
SELECT VAR(DISTINCT SalesAmountQuota)AS Distinct_Values, VAR(SalesAmountQuota) AS All_Values
FROM dbo.FactSalesQuota;
결과 집합은 다음과 같습니다.
Distinct_Values All_Values
---------------- ----------------
159180469909.18 158762853821.10
C. OVER와 함께 VAR 사용하기
다음 예에서는 한 해의 각 분기에 대한 판매 할당량 값의 통계적 분산을 반환합니다. OVER 절에서 ORDER BY는 통계적 분산과 SELECT 문의 ORDER BY를 결과 집합으로 정렬합니다.
-- Uses AdventureWorks
SELECT CalendarYear AS Year, CalendarQuarter AS Quarter, SalesAmountQuota AS SalesQuota,
VAR(SalesAmountQuota) OVER (ORDER BY CalendarYear, CalendarQuarter) AS Variance
FROM dbo.FactSalesQuota
WHERE EmployeeKey = 272 AND CalendarYear = 2002
ORDER BY CalendarQuarter;
결과 집합은 다음과 같습니다.
Year Quarter SalesQuota Variance
---- ------- ---------------------- -------------------
2002 1 91000.0000 null
2002 2 140000.0000 1200500000.00
2002 3 70000.0000 1290333333.33
2002 4 154000.0000 1580250000.00