Vrátenie hodnoty Variant (reťazec), ktorá v rámci vypočítanej série rozsahov určuje miesto výskytu čísla.
Syntax
Partition(číslo; začiatok; koniec; interval)
Syntax funkcie Partition má tieto argumenty:
| Argument | Popis |
|---|---|
| Číslo | Povinný argument. Celé číslo, ktoré chcete porovnať s rozsahmi. |
| začiatok | Povinný argument. Celé číslo, ktoré je začiatkom celého rozsahu čísel. Číslo nesmie byť menšie ako 0. |
| koniec | Povinný argument. Celé číslo, ktoré je koncom celého rozsahu čísel. Číslo nemôže byť rovnaké ani menšie ako číslo začiatku. |
| interval | Povinný argument. Celé číslo, ktoré určuje veľkosť oblastí v celom rozsahu čísel (medzi začiatkom a koncom). |
Poznámky:
Funkcia Partition určí konkrétny rozsah, do ktorého číslo spadá, a vráti hodnotu typu Variant (String), ktorá popisuje tento rozsah. Funkcia Partition je najužitočnejšia v dotazoch. Môžete vytvoriť a zvoliť dotaz, ktorý zobrazuje počet objednávok v rôznych rozsahoch, napríklad hodnoty v rade od 1 do 1000, 1001 do 2000 a tak ďalej.
V nasledujúcej tabuľke je uvedený spôsob, akým sa určujú rozsahy pomocou troch množín argumentov začiatok, koniec a interval . V stĺpcoch Prvý rozsah a Posledný rozsah je uvedené, čo funkcia Partition vracia. Rozsahy sú zastúpené rozsahom lowervalue:uppervalue, pričom dolný koniec (dolná hodnota) rozsahu je od horného konca (horná hodnota) rozsahu oddelený dvojbodkou (:).
| Štart | zastaviť | interval | Pred prvým | Prvý rozsah | Posledný rozsah | Po poslednom |
|---|---|---|---|---|---|---|
| 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: “ |
V predchádzajúcej tabuľke je v treťom riadku uvedený výsledok, keďzačiatok a koniec určujú množinu čísel, ktoré sa nedajú rovnomerne rozdeliť intervalmi. Posledný rozsah prechádza až po koniec (11 čísel), hoci interval je 20.
Ak je to potrebné, funkcia Partition vráti rozsah s dostatočným počtom počiatočných medzier, aby sa naľavo a napravo od dvojbodky nachádzal rovnaký počet znakov ako na konci, plus jeden. Tým sa zabezpečí, že keď použijete funkciu Partition s inými číslami, výsledný text sa pri nasledujúcom zoraďovaní spracuje správne.
Ak je argument interval 1, rozsah je číslo:číslo bez ohľadu na argumenty začiatok a koniec . Napríklad, ak je interval 1, číslo je 100 a koniec je 1000, funkcia Partition vráti hodnotu " 100: 100".
Ak má ktorákoľvek z častí hodnotu nula, funkcia Partition vráti hodnotu nula.
Príklady dotazov
| Výraz | Výsledky |
|---|---|
| SELECT Partition(jednotkovácena;40;240;20) AS Cenový rozsah; count(produktpredaj.jednotková cena) AS Počet FROM produktPredaj GROUP BY Partition(jednotková cena;40,240;20); | Vytvorí množinu rozsahov pre hodnoty v poli "Jednotková cena" od "začiatok"(40) do "koniec"(240) s rovnakou veľkosťou "interval"(20) a vypočíta počet "jednotkovácena" v príslušných rozsahoch. Zobrazí rozsahy v stĺpci Cenový rozsah a počet v stĺpci Počet. |
Príklad VBA
V tomto príklade sa predpokladá, že máte tabuľku Objednávky, ktorá obsahuje pole Preprava. Vytvorí sa výberová procedúra, ktorá spočíta počet objednávok, v rámci ktorých prepravné náklady patria do každého z viacerých rozsahov. Funkcia Partition sa najprv použije na vytvorenie týchto rozsahov a potom funkcia SQL Count spočíta počet objednávok v každom rozsahu. V tomto príklade sú argumenty funkcie Partitionstart = 0, stop = 500, interval = 50. Prvý rozsah by preto bol 0:49 a tak ďalej až po 500.
SELECT DISTINCTROW Partition([freight],0, 500, 50) AS Range,
Count(Orders.Freight) AS Count
FROM Orders
GROUP BY Partition([freight],0,500,50);