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ámnak nagyobbnak kell lennie az eleje argumentum értékénél. |
intervallum |
Kötelező. A számok teljes tartományán (az eleje és a vége között) belüli partíciók méretét megadó egész szám. |
Megjegyzések
A Partition függvény azonosítja azt az adott tartományt, amelybe a szám esik, és egy, a tartományt leíró Változót (Karakterlánc) 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.).
A következő táblázatban az látható, hogy hogyan történik a tartományok meghatározása az eleje, a vége és az 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 kisebbérték:nagyobbérték képviseli, ahol a tartomány legkisebb értéke (kisebbérték) kettősponttal (:) van elválasztva a legnagyobb értéktől (nagyobbérték).
eleje |
vége |
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 sorában az látható, hogy milyen eredménnyel jár az, ha az eleje és a vége argumentum olyan számokat definiál, amelyek nem oszthatók maradék nélkül az intervallum argumentum értékével. Az utolsó tartomány a vége argumentum értékéig tart (11 szám), annak ellenére, hogy az intervallum értéke 20.
Szükség esetén a Partition elegendő kezdő szóközzel adja vissza a tartományt, és így a kettőspont bal és jobb oldalán ugyanannyi karakter szerepel, mint amennyi a vége argumentumban van, 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 az eleje és a vége argumentumtól. Ha például az intervallum 1, a szám 100, a vége pedig 1000, a Partition függvény a következőt adja vissza: " 100: 100".
Ha bármelyik rész Null, akkor a Partition függvény Null értéket ad vissza.
Példák lekérdezésre
Expression |
Eredmények |
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);