Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
Aplica-se a:SQL Server
Base de Dados SQL do Azure
Instância Gerida do Azure SQL
Azure Synapse Analytics
Sistema de Plataforma de Análise (PDW)
Ponto de Extremidade de Análise SQL no Microsoft Fabric
Armazém no Microsoft Fabric
Base de Dados SQL no Microsoft Fabric
Devolve a variância estatística de todos os valores na expressão especificada. Pode ser seguida pela cláusula OVER.
Transact-SQL convenções de sintaxe
Sintaxe
-- Aggregate Function Syntax
VAR ( [ ALL | DISTINCT ] expression )
-- Analytic Function Syntax
VAR ([ ALL ] expression) OVER ( [ partition_by_clause ] order_by_clause)
Arguments
TODOS OS
Aplica a função a todos os valores. ALL é o padrão.
DISTINTO
Especifica que cada valor exclusivo é considerado.
expressão
É uma expressão do tipo de dado numérico exato ou numérico aproximado, exceto para o tipo de dado bit . Funções agregadas e subconsultas não são permitidas.
TERMINADO ( [ partition_by_clause ] order_by_clause)
partition_by_clause divide o conjunto de resultados produzido pela cláusula FROM em partições às quais a função é aplicada. Se não for especificada, a função trata todas as linhas do conjunto de resultados da consulta como um único grupo.
order_by_clause determina a ordem lógica em que a operação é executada.
order_by_clause é obrigatório. Para obter mais informações, consulte Cláusula OVER (Transact-SQL).
Tipos de devolução
float
Observações
Se o VAR for usado em todos os itens de uma instrução SELECT, cada valor do conjunto de resultados é incluído no cálculo. O VAR pode ser usado apenas com colunas numéricas. Os valores nulos são ignorados.
O VAR é uma função determinística quando usada sem as cláusulas OVER e ORDER BY. É não determinista quando especificado com as cláusulas OVER e ORDER BY. Para mais informações, consulte Funções Determinísticas e Não Determinísticas.
Examples
R: Utilização do VAR
O exemplo seguinte devolve a variância de todos os valores bónus na SalesPerson tabela da base de dados AdventureWorks2025.
SELECT VAR(Bonus)
FROM Sales.SalesPerson;
GO
Exemplos: Azure Synapse Analytics and Analytics Platform System (PDW)
B: Utilização do VAR
O exemplo seguinte devolve a variância estatística dos valores das quotas de vendas na tabela dbo.FactSalesQuota. A primeira coluna contém a variância de todos os valores distintos e a segunda coluna contém a variância de todos os valores, incluindo quaisquer valores duplicados.
-- Uses AdventureWorks
SELECT VAR(DISTINCT SalesAmountQuota)AS Distinct_Values, VAR(SalesAmountQuota) AS All_Values
FROM dbo.FactSalesQuota;
Aqui está o conjunto de resultados.
Distinct_Values All_Values
---------------- ----------------
159180469909.18 158762853821.10
C. Usar VAR com OVER
O exemplo seguinte devolve a variância estatística dos valores das quotas de vendas para cada trimestre de um ano civil. Note que o ORDER BY na cláusula OVER ordena a variância estatística e o ORDER BY da instrução SELECT ordena o conjunto de resultados.
-- 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;
Aqui está o conjunto de resultados.
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
Ver também
Funções agregadas (Transact-SQL)
Cláusula OVER (Transact-SQL)