VAR (Transact-SQL)
Возвращает статистическую дисперсию всех значений в указанном выражении. За функцией может следовать предложение OVER.
Применимо для следующих объектов: SQL Server (SQL Server 2008 по текущую версию), База данных SQL Windows Azure (с первоначального выпуска по текущий выпуск). |
Синтаксические обозначения в Transact-SQL
Синтаксис
VAR ( [ ALL | DISTINCT ] expression )
OVER ( [ partition_by_clause ] order_by_clause )
Аргументы
ALL
Применяет функцию ко всем значениям. ALL является параметром по умолчанию.DISTINCT
Указывает, что рассматривается каждое уникальное значение.expression
Выражение категории типа точных числовых или приблизительных числовых данных, за исключением типа данных bit. Агрегатные функции и вложенные запросы не допускаются.OVER ( [ partition_by_clause ] order_by_clause**)**
partition_by_clause делит результирующий набор, полученный с помощью предложения FROM, на секции, к которым применяется функция. Если этот параметр не указан, функция обрабатывает все строки результирующего набора запроса как отдельные группы. order_by_clause определяет логический порядок, в котором выполняется операция. Значение order_by_clause обязательно. Дополнительные сведения см. в разделе Предложение OVER (Transact-SQL).
Типы возвращаемых значений
float
Замечания
Если в инструкции SELECT функция VAR используется для всех элементов, то при вычислении учитывается каждое значение результирующего набора. Функцию VAR можно использовать только для числовых столбцов. Значения NULL пропускаются.
VAR — это детерминированная функция, если она используется без предложений OVER и ORDER BY. Она не детерминирована при использовании с предложениями OVER и ORDER BY. Дополнительные сведения см. в разделе Детерминированные и недетерминированные функции.
Примеры
В следующем примере возвращается дисперсия для заполнения всех значений премии в таблице SalesPerson в базе данных AdventureWorks2012.
SELECT VAR(Bonus)
FROM Sales.SalesPerson;
GO