Bei Microsoft anmelden
Melden Sie sich an, oder erstellen Sie ein Konto.
Hallo,
Wählen Sie ein anderes Konto aus.
Sie haben mehrere Konten.
Wählen Sie das Konto aus, mit dem Sie sich anmelden möchten.

Gibt einen Wert vom Typ Variant (String) zurück, der angibt, wo eine Zahl innerhalb einer berechneten Folge von Bereichen auftritt.

Syntax

Partition( Zahl, Startwert, Endwert, Intervall)

Die Syntax der Funktion Partition weist die folgenden Argumente auf:

Argument

Beschreibung

Zahl

Erforderlich. Ganze Zahl, für die Sie den zugehörigen Bereich ermitteln möchten.

Startwert

Erforderlich. Eine ganze Zahl, die den Anfang des Zahlenbereichs insgesamt bildet. Die Zahl darf nicht kleiner als 0 sein.

Endwert

Erforderlich. Ganze Zahl, die das Ende des Zahlenbereichs insgesamt bildet. Die Anzahl darf nicht gleich oder kleiner als Startwert sein.

Intervall

Erforderlich. Ganze Zahl, die die Größe der Partitionen innerhalb des Gesamtzahlenbereichs angibt (zwischen Startwert und Endwert).

Hinweise

Die Partition-Funktion kennzeichnet denjenigen Bereich, in dem Zahl liegt, und gibt einen Wert vom Typ Variant (String) zurück, die diesen Bereich beschreibt. Die Partition-Funktion eignet sich am besten für Abfragen. Sie können eine Auswahlabfrage erstellen, die zeigt, wie viele Bestellungen in verschiedenen Bereichen enthalten sind, z. B. Bestellwerte von 1 bis 1000, 1001 bis 2000 und so weiter.

Die folgende Tabelle zeigt anhand von drei Startwert-, Endwert- und Intervall-Argumenten, wie die Bereiche bestimmt werden. Die Spalten "Erster Bereich" und "Letzter Bereich" zeigen, was Partition zurückgibt. Die Bereiche werden durch lowervalue:uppervalue dargestellt, wobei das untere Ende (lowervalue) des Bereichs vom oberen Ende (uppervalue) des Bereichs mit einem Doppelpunkt (:) getrennt ist.

Startwert

Endwert

Intervall

Vor dem Ersten

Erster Bereich

Letzter Bereich

Nach dem Letzten

0

99

5

" :-1"

" 0: 4

" 95: 99"

" 100: "

20

199

10

" : 19

" 20: 29"

" 190: 199"

" 200: "

100

1010

20

" : 99"

" 100: 119"

" 1000: 1010"

" 1011: "

In der vorstehenden Tabelle zeigt die dritte Zeile das Ergebnis, wenn Startwert und Endwert eine Reihe von Zahlen definieren, die nicht glatt durch Intervall geteilt werden können. Der letzte Bereich reicht bis zum Endwert (11 Zahlen), obwohl Intervall "20" lautet.

Bei Bedarf gibt Partition einen Bereich mit genügend führenden Leerzeichen zurück, sodass links und rechts vom Doppelpunkt die gleiche Anzahl von Zeichen wie im Endwert, plus eins, stehen. Dadurch wird sichergestellt, dass bei Verwendung von Partition mit anderen Zahlen der sich daraus ergebende Text bei nachfolgenden Sortiervorgängen ordnungsgemäß behandelt werden.

Wenn Intervall 1 ist, lautet der Bereich Zahl: Zahl, und zwar unabhängig vom Startwert- und Endwert-Argument. Wenn z. B. Intervall 1, Zahl 100 und Endwert 1000 ist, gibt Partition "100: 100" zurück.

Wenn ein Teil ist Null, gibt Partition eine Null zurück.

Abfragebeispiele

Ausdruck

Ergebnisse

SELECT Partition(unitprice,40,240,20) AS PriceRange, count(productsales.unitprice) AS Count FROM productSales GROUP BY Partition(unitprice,40,240,20);

Erstellt einen Satz von Bereichen für die Werte im Feld "unitprice" von "start"(40) bis "stop"(240) mit der gleichen "interval"(20)-Größe und berechnet die Anzahl von "unitprice" in den entsprechenden Bereichen. Zeigt die Bereiche in der Spalte PriceRange und count in spalte 'Count' an.

VBA-Beispiel

In diesem Beispiel wird davon ausgegangen, dass Sie über eine Orders-Tabelle verfügen, die ein Frachtfeld enthält. Es wird eine Auswahlprozedur erstellt, die die Anzahl der Aufträge zählt, für die die Frachtkosten in jeden von mehreren Bereichen fallen. Die Partitionsfunktion wird zuerst verwendet, um diese Bereiche festzulegen, dann zählt die SQL-Anzahl-Funktion die Anzahl der Bestellungen in jedem Bereich. In diesem Beispiel lauten die Argumente für die Partitionsfunktionstart = 0, stop = 500, interval = 50. Der erste Bereich wäre daher 0:49 und so weiter bis zu 500.

SELECT DISTINCTROW Partition([freight],0, 500, 50) AS Range,
Count(Orders.Freight) AS Count
FROM Orders
GROUP BY Partition([freight],0,500,50);

Benötigen Sie weitere Hilfe?

Möchten Sie weitere Optionen?

Erkunden Sie die Abonnementvorteile, durchsuchen Sie Trainingskurse, erfahren Sie, wie Sie Ihr Gerät schützen und vieles mehr.

In den Communities können Sie Fragen stellen und beantworten, Feedback geben und von Experten mit umfassendem Wissen hören.

War diese Information hilfreich?

Wie zufrieden sind Sie mit der Sprachqualität?
Was hat Ihre Erfahrung beeinflusst?
Wenn Sie auf "Absenden" klicken, wird Ihr Feedback zur Verbesserung von Produkten und Diensten von Microsoft verwendet. Ihr IT-Administrator kann diese Daten sammeln. Datenschutzbestimmungen.

Vielen Dank für Ihr Feedback!

×