Returnează o valoare variant (șir) care indică unde apare un număr într-o serie calculată de zone.
Sintaxă
Partition( număr, început, oprire, interval)
Sintaxa funcției Partition are următoarele argumente:
Argument |
Descriere |
număr |
Obligatoriu. Este numărul întreg pe care doriți să-l evaluați în raport cu zonele. |
început |
Obligatoriu. Număr întreg care este începutul intervalului total de numere. Numărul nu poate fi mai mic decât 0. |
oprire |
Obligatoriu. Număr întreg care este sfârșitul intervalului total de numere. Numărul nu poate fi egal cu sau mai mic decât începutul. |
interval |
Obligatoriu. Număr întreg care specifică dimensiunea partițiilor din intervalul total de numere (între începutul și începutul lui). |
Observații
Funcția Partition identifică intervalul în care se încadrează numărul și returnează o valoare variant (șir) care descrie zona respectivă. Funcția Partition este foarte utilă în interogări. Puteți crea o interogare de selectare care arată câte comenzi se încadrează în diverse zone, de exemplu, ordonează valori de la 1 la 1000, 1001 până la 2000 și așa mai departe.
Următorul tabel arată cum sunt determinate zonele utilizând trei seturi de argumente de început, de oprire și de interval . Coloanele Prima zonă și Ultima zonă arată ce partiție returnează. Zonele sunt reprezentate de valoare inferioară:valoare superioară, unde capătul inferior (valoarea inferioară) a intervalului este separat de capătul înalt (valoare superioară) al intervalului cu două puncte (:).
început |
oprire |
interval |
Înainte de primul |
Prima zonă |
Ultima zonă |
După ultima |
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: " |
În tabelul afișat mai sus, a treia linie afișează rezultatul atunci când începeți și opriți definiți un set de numere care nu pot fi împărțite uniform la interval. Ultimul interval se extinde la oprire (11 numere), chiar dacă intervalul este 20.
Dacă este necesar, Partition returnează o zonă cu suficiente spații la început, astfel încât să existe același număr de caractere la stânga și la dreapta simbolului două puncte ca și caracterele punct și virgulă, plus unu. Acest lucru vă asigură că, dacă utilizați Partiția cu alte numere, textul rezultat va fi gestionat corect în timpul oricărei operațiuni de sortare ulterioare.
Dacă intervalul este 1, intervalul este număr:număr, indiferent de argumentele de început și de oprire . De exemplu, dacă intervalul este 1, numărul este 100 și oprirea este 1000, Partiția returnează " 100: 100".
Dacă oricare dintre părți este Null, Partition returnează un Null.
Exemple de interogare
Expresie |
Rezultatele |
SELECT Partition(unitprice,40,240,20) AS PriceRange, count(productsales.unitprice) AS Count FROM productSales GROUP BY Partition(unitprice,40,240,20); |
Creează un set de zone pentru valorile din câmpul "prețunitar" de la "start"(40) la "stop"(240) cu dimensiunea egală cu "interval"(20) și calculează numărul de "prețunitar" din zonele respective. Afișează zonele din coloana Interval de prețuri și contorizare în coloana "Contor". |
Exemplu VBA
Acest exemplu presupune că aveți un tabel Comenzi care conține un câmp Transport. Creează o procedură de selectare care contorizează numărul de comenzi pentru care costul de transport se încadrează în fiecare dintre mai multe intervale. Funcția Partition este utilizată mai întâi pentru a stabili aceste zone, apoi funcția SQL Count contorizează numărul de comenzi din fiecare zonă. În acest exemplu, argumentele funcției Partition sunt start = 0, stop = 500, interval = 50. Prima zonă ar fi, prin urmare, 0:49 și așa mai departe până la 500.
SELECT DISTINCTROW Partition([freight],0, 500, 50) AS Range,
Count(Orders.Freight) AS Count FROM Orders GROUP BY Partition([freight],0,500,50);