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(szám; eleje; vége; intervallum)
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 a kezdet. |
| intervallum | Kötelező megadni. Egész szám, amely a partíciók méretét adja meg a számok teljes tartományán belül ( az eleje és a vége között). |
Megjegyzések
A Partition függvény azonosítja azt az adott tartományt, amelybe a szám esik, és egy azt leíró Variantot (String) ad vissza. 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 történik a tartományok meghatározása három kezdet,vég és intervallum argumentum használatával. 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 argumentum jelöli, ahol a tartomány alsó határa (lowervalue) kettősponttal (:) van elválasztva a tartomány felső határától (uppervalue).
| Indítás | leállítás | 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ázat harmadik sora azt az eredményt mutatja, amikor a start és a stopintervallummal nem egyenletesen elosztható számhalmazt definiál. Az utolsó tartomány a végpontig terjed (11 számjegy), akkor is, ha az intervallum 20.
Szükség esetén a Partition függvény egy olyan tartományt ad vissza, amelyben elegendő kezdő szóköz van, hogy a kettősponttól balra és jobbra ugyanannyi karakter legyen, mint a végpontban lévő karakterek (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 értéke 1, akkor a tartomány szám :szám, függetlenül a kezdő és a záró argumentumtól. Ha például az intervallum 1, a szám 100 , a vég pedig 1000, akkor a Partíció eredménye " 100:100".
Ha bármelyik rész Null, akkor a Partition függvény Null értéket ad vissza.
Példák lekérdezésekre
| Expression (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); | Létrehozza az "egységár" mező értékeinek tartománykészletét a "kezdet"(40) és a "stop"(240) között azonos "intervallum"(20) mérettel, és kiszámítja az "egységár" számát a megfelelő tartományokban. Megjeleníti az Árkategória oszlopban szereplő tartományokat és a darabszám a "Darabszám" oszlopban. |
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);