VAR (Transact-SQL)

Aplica-se a:SQL ServerBase de Dados SQL do AzureAzure SQL Managed InstanceAzure Synapse AnalyticsEndpoint de análise SQL no Microsoft FabricArmazém no Microsoft FabricBase 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

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