Vrátí hodnotu typu Variant (String) označující, kde se číslo vyskytuje v počítané řadě rozsahů.
Syntaxe
Oddíl(číslo, začátek, zastavení, interval)
Syntaxe funkce Partition má tyto argumenty:
| Argument | Popis |
|---|---|
| Číslo | Povinný argument. Celé číslo, které chcete vyhodnotit s rozsahy. |
| začátek | Povinný argument. Celé číslo, které je začátkem celkového rozsahu čísel. Číslo nesmí být menší než 0. |
| Stop | Povinný argument. Celé číslo, které je na konci celkového rozsahu čísel. Číslo nesmí být rovno nebo menší než začátek. |
| interval | Povinný argument. Celé číslo, které určuje velikost oddílů v rámci celkového rozsahu čísel (mezi začátkem a koncem). |
Poznámky
Funkce Partition identifikuje konkrétní rozsah, do kterého spadá číslo , a vrátí hodnotu Variant (String) popisující tento rozsah. Funkce Partition je nejužitečnější v dotazech. Můžete vytvořit výběrový dotaz, který ukazuje, kolik objednávek spadá do různých rozsahů, například hodnoty objednávek od 1 do 1000, 1001 až 2000 atd.
Následující tabulka ukazuje, jak se oblasti určují pomocí tří sad argumentů začátku, zastavení a intervalu . Sloupce First Range (První oblast) a Last Range (Poslední oblast) ukazují, co oddíl vrátí. Rozsahy jsou reprezentovány hodnotou lowervalue:uppervalue, kde dolní konec (nižší hodnota) rozsahu je oddělen od horního konce (horní hodnota) oblasti dvojtečka (:).
| Spustit | Stop | interval | Před prvním | První oblast | Poslední oblast | Po poslední |
|---|---|---|---|---|---|---|
| 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: " |
Ve výše uvedené tabulce třetí řádek zobrazuje výsledek, když začátek a zastavení definuje sadu čísel, která se nedá rovnoměrně dělit intervalem. Poslední rozsah se rozšiřuje na zarážku (11 čísel), i když je interval 20.
V případě potřeby vrátí funkce Partition rozsah s dostatečným počtem počátečních mezer, aby vlevo a vpravo od dvojtečky byl stejný počet znaků jako v zastavce plus jeden. Tím zajistíte, že pokud použijete oddíl s jinými čísly, bude výsledný text správně zpracován během jakékoli následné operace řazení.
Pokud je interval 1, je rozsah číslo:číslo bez ohledu na argumenty start a stop . Pokud je například interval 1, číslo je 100 a stop je 1000, vrátí funkce Partition "100: 100".
Pokud má některá část hodnotu Null, vrátí funkce Partitionhodnotu Null.
Příklady dotazů
| Výraz | Výsledky: |
|---|---|
| SELECT Partition(unitprice;40;240;20) AS PriceRange, count(productsales.unitprice) AS Count FROM productSales GROUP BY Partition(unitprice;40;240;20); | Vytvoří sadu oblastí pro hodnoty v poli "unitprice" od "start"(40) do "stop"(240) se stejnou "interval"(20) velikostí a vypočítá počet "jednotkovácena" v příslušných oblastech. Zobrazí rozsahy ve sloupci PriceRange a count ve sloupci Count. |
Příklad jazyka VBA
Tento příklad předpokládá, že máte tabulku Objednávky, která obsahuje pole Přepravné. Vytvoří výběrový postup, který spočítá počet objednávek, pro které přepravní náklady spadají do každého z několika rozsahů. Funkce Partition se používá nejprve k vytvoření těchto rozsahů a pak funkce SQL Count spočítá počet objednávek v každé oblasti. V tomto příkladu jsou argumenty funkce Partitionstart = 0, stop = 500, interval = 50. První rozsah by tedy byl 0:49 a tak dále až 500.
SELECT DISTINCTROW Partition([freight],0, 500, 50) AS Range,
Count(Orders.Freight) AS Count
FROM Orders
GROUP BY Partition([freight],0,500,50);