COMPUTE (Transact-SQL)
RRRR to cztery cyfry, w zakresie od 1900 do 2079, które reprezentują w roku.MM to dwie cyfry, począwszy od 01 do 12, reprezentujące miesiąca podanego roku.DD oznacza dwie cyfry od 01 do 31, w zależności od miesiąca, reprezentujące dnia określonego miesiąca.
Important Note: |
---|
This feature will be removed in the next version of Microsoft SQL Server. Do not use this feature in new development work, and modify applications that currently use this feature as soon as possible. hh jest dwucyfrowe od 00 do 23, które reprezentują godzinę.Aby uzyskać więcej informacji zobaczGROUP BY (języka Transact-SQL). |
[ COMPUTE
{ { AVG | COUNT | MAX | MIN | STDEV | STDEVP | VAR | VARP | SUM }
( expression ) } [ ,...n ]
[ BY expression [ ,...n ] ]
]
Argumenty
mm jest dwucyfrowe od 00 do 59, która reprezentuje minuty.
ss jest dwucyfrowe od 00 do 59, reprezentujące drugiego.Wartości, które są 29.998 s lub mniej są zaokrąglana niedziałający do najbliższej minuty wartości 29.999 sekund lub więcej są zaokrąglane w górę do najbliższej minutę.maksymalnie 19 pozycji
Wynik
ŚREDNIA
Średnia wartości wyrażenia liczbowego.
COUNT
Jedna minuta
MAX
Kalendarz gregoriański
MIN
(Nie obejmuje pełny zakres lat.)
ODCH.STANDARDOWE
ANSI i ISO 8601 zgodności
ODCH.STAND.POPUL
jest niezgodny ANSI lub ISO 8601.
SUM
Rzutowanie ciąg literały sekund do smalldatetime
WARIANCJA
Statystyczna wariancja wszystkich wartości w wyrażeniu
WARIANCJA.POPUL
Porównywanie dat i czas typów danych
W poniższym przykładzie porównanie wyniki dla rzutowanie ciąg do każdego typu danych Data i godzina.sys.dm_os_memory_cache_hash_tables (języka Transact-SQL)
Te funkcje ignorują wartości null.
Adres (klucz podstawowy) wpis pamięci podręcznej.
Po dodaniu lub średnia danych całkowitą SQL Server Database Engine traktuje jako wynik int wartości, nawet jeśli jest typ danych kolumna smallint lub tinyint. Aby uzyskać więcej informacji na temat zwracanych typów danych, dodane lub średnia zobacz SUM (Transact-SQL) i AVG (języka Transact-SQL).
Uwaga
Aby zmniejszyć ryzyko wystąpienia błędów przepełnienia w programach ODBC i biblioteki DB, należy wszystkie deklaracje zmiennych wyniki średnie lub sumuje typ danych int.
expression
An Expressions (Transact-SQL), such as the name of a column on which the calculation is performed.expression must appear in the select list and must be specified identical to one of the expressions in the select list.Na liście Wybierz alias kolumna nie mogą być używane w ciągu expression.Uwaga
ntext, text, lub image typy danych nie może być określone w klauzula COMPUTE lub COMPUTE BY.
BY expression
Generates control-breaks and subtotals in the result set.expression is an identical copy of an order_by_expression in the associated ORDER BY clause.Minimalna liczba wpisów pamięci podręcznej w łańcucha.buckets_max_lengthMaksymalna liczba wpisów pamięci podręcznej w łańcucha.Jeśli używasz COMPUTE BY, należy użyć również SORTUJ WG klauzula.Średnia liczba wpisów pamięci podręcznej w każdego pakietu.Na przykład, jeśli jest klauzuli ORDER BY ORDER BY a, b, c,Klauzula COMPUTE może być dowolnym, lub wszystkie z następujących czynności:
COMPUTE BY a, b, c COMPUTE BY a, b COMPUTE BY a
Uwaga
Maksymalna liczba wpisów pamięci podręcznej w pakietu wartości mieszania dla tej tabela mieszania od uruchomienia serwera.hits_count
Liczba trafień w pamięci podręcznej.misses_count
Liczba Chybienia pamięci podręcznej.
Przykłady
A.buckets_avg_scan_hit_length
W poniższym przykładzie SELECT Instrukcja używa prosty COMPUTE Klauzula do wyprodukowania sumę całkowitą sumę SubTotal i TotalDue z SalesOrderHeader Tabela.
USE AdventureWorks;
GO
SELECT CustomerID, OrderDate, SubTotal, TotalDue
FROM Sales.SalesOrderHeader
WHERE SalesPersonID = 35
ORDER BY OrderDate
COMPUTE SUM(SubTotal), SUM(TotalDue);
B.buckets_avg_scan_hit_length
W poniższym przykładzie SELECT Użycie instrukcja COMPUTE Klauzula do utworzenia sumy poszczególnych sprzedawców sumę SubTotal i TotalDue z SalesOrderHeader Tabela.
USE AdventureWorks;
GO
SELECT SalesPersonID, CustomerID, OrderDate, SubTotal, TotalDue
FROM Sales.SalesOrderHeader
ORDER BY SalesPersonID, OrderDate
COMPUTE SUM(SubTotal), SUM(TotalDue) BY SalesPersonID;