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. |
ukončit |
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 počátečnímashora). |
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 (:).
začátek |
ukončit |
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);