Egy Változót (Karakterlánc) ad vissza, jelezve ezzel egy szám előfordulási helyét tartományok egy számított adatsorozatán belül.
Szintaxis
Partition(number, start, stop, interval)
A Partition függvény argumentumai a következők:
| Argumentum | Leírás: |
|---|---|
| Szám | Kötelező. A tartományokkal összevetni kívánt egész szám. |
| eleje | Kötelező. A számok teljes tartományának elejét jelző egész szám. A szám nem lehet kisebb nullánál. |
| vége | Kötelező. A számok teljes tartományának végét jelző egész szám. A szám nem lehet egyenlő vagy kisebb, mint az indítás. |
| intervallum | Kötelező megadni. Egész szám, amely a partíciók méretét adja meg a teljes számtartományon belül ( kezdő és leállítás között). |
Megjegyzések
A Partition függvény azonosítja az adott tartományt, amelybe a szám esik, és visszaad egy variant (sztring) értéket, amely leírja ezt a tartományt. A Partition függvény lekérdezésekben a leghasznosabb. Létrehozhat egy olyan lekérdezést, amely megmutatja, hogy hány megrendelés esik a különböző tartományokba (például 1–1000, 1001–2000 stb.).
Az alábbi táblázat bemutatja, hogyan határozható meg a tartományok három kezdő, leállítás és intervallum argumentummal. Az Első tartomány és az Utolsó tartomány oszlopban látható, hogy milyen értéket ad vissza a Partition függvény. A tartományokat a lowervalue:uppervalue érték jelöli, ahol a tartomány alsó vége (alsó érték) kettősponttal (:) van elválasztva a tartomány felső végétől (felső érték).
| Elkezd | állj | intervallum | Első előtt | Első tartomány | Utolsó tartomány | Utolsó után |
|---|---|---|---|---|---|---|
| 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: " |
A fenti táblázatban a harmadik sor az eredményt mutatja, amikor az indítás és a leállítás olyan számkészletet határoz meg, amely nem osztható el egyenletesen intervallumonként. Az utolsó tartomány megállásig terjed (11 szám), annak ellenére, hogy az intervallum 20.
Ha szükséges, a Partition egy elegendő kezdő szóközt tartalmazó tartományt ad vissza, hogy a kettőspont bal és jobb oldalán ugyanannyi karakter legyen, mint a stop karakterekkel, plusz egy. Ez gondoskodik arról, hogy az eredményül kapott szöveg kezelése akkor is megfelelően történjen a következő rendezési művelet során, ha a Partition függvényt más számokkal használja.
Ha az intervallum 1, a tartomány szám:szám, a kezdő és a leállítás argumentumtól függetlenül. Ha például az intervallum 1, a szám 100, a leállítás értéke pedig 1000, akkor a partíció a "100: 100" értéket adja vissza.
Ha bármelyik rész Null, akkor a Partition függvény Null értéket ad vissza.
Példák lekérdezésre
| Kifejezés | Eredmény: |
|---|---|
| SELECT Partition(unitprice,40,240,20) AS PriceRange, count(productsales.unitprice) AS Count FROM productSales GROUP BY Partition(unitprice,40,240,20); | Tartománykészletet hoz létre az "egységár" mező értékeihez a "start"(40) és a "stop" (240) értékekkel egyenlő "interval"(20) mérettel, és kiszámítja az "egységár" számát a megfelelő tartományokban. Megjeleníti a PriceRange oszlop tartományait, és a Count oszlopban lévő darabszámot. |
VBA-példa
Ez a példa abból a feltételezésből indul ki, hogy van egy Fuvardíj mezőt tartalmazó Megrendelések táblázata. A példában létrejött eljárás megszámolja, hogy hány megrendelés esetében esik a fuvardíj az egyes tartományokba. A Partition függvény először létrehozza ezeket a tartományokat, majd az SQL DARAB függvénye megszámolja az egyes tartományokban szereplő megrendeléseket. Ebben a példában a Partition függvény argumentumai a következők: eleje = 0, vége = 500, intervallum = 50. Az első tartomány tehát 0:49 lenne, és így tovább egészen 500-ig.
SELECT DISTINCTROW Partition([freight],0, 500, 50) AS Range,
Count(Orders.Freight) AS Count
FROM Orders
GROUP BY Partition([freight],0,500,50);