Condividi tramite


VAR (Transact-SQL)

Restituisce lo scostamento statistico di tutti i valori dell'espressione specificata. Può precedere la clausola OVER.

Si applica a: SQL Server (da SQL Server 2008 alla versione corrente), Database SQL di Windows Azure (dalla versione iniziale alla versione corrente).

Icona di collegamento a un argomento Convenzioni della sintassi Transact-SQL

Sintassi

VAR ( [ ALL | DISTINCT ] expression ) 
   OVER ( [ partition_by_clause ] order_by_clause )

Argomenti

  • ALL
    Applica la funzione a tutti i valori. Il valore predefinito è ALL.

  • DISTINCT
    Specifica che viene considerato ogni valore univoco.

  • expression
    Espressione di un tipo di dati della categoria numerici esatti o numerici approssimati, con l'eccezione del tipo di dati bit. Non è possibile utilizzare funzioni di aggregazione e sottoquery.

  • OVER ( [ partition_by_clause ] order_by_clause**)**
    partition_by_clause suddivide il set di risultati generato dalla clausola FROM in partizioni alle quali viene applicata la funzione. Se non specificato, la funzione tratta tutte le righe del set di risultati della query come un unico gruppo. order_by_clause determina l'ordine logico in cui viene eseguita l'operazione. order_by_clause è obbligatorio. Per ulteriori informazioni, vedere Clausola OVER (Transact-SQL).

Tipi restituiti

float

Osservazioni

Se la funzione VAR viene applicata a tutte le voci di un'istruzione SELECT, ogni valore nel set di risultati viene incluso nel calcolo. VAR può essere utilizzata solo con colonne numeriche. I valori Null vengono ignorati.

VAR è una funzione deterministica quando viene utilizzata senza le clausole ORDER BY e OVER. Non è deterministica quando viene specificata con le clausole ORDER BY e OVER. Per ulteriori informazioni, vedere Funzioni deterministiche e non deterministiche.

Esempi

Nell'esempio seguente viene restituita la varianza per tutti i valori relativi ai premi di produttività nella tabella SalesPerson del database AdventureWorks2012.

SELECT VAR(Bonus)
FROM Sales.SalesPerson;
GO

Vedere anche

Riferimento

Funzioni di aggregazione (Transact-SQL)

Clausola OVER (Transact-SQL)