Tagastab variandi (stringi), mis näitab, kus kohas arv arvutatud vahemikes esineb.
Süntaks
Partition( number, start, stop, interval)
Funktsiooni Partition süntaksil on järgmised argumendid.
Argument |
Kirjeldus |
number |
Nõutav. Täisarv, mida soovite vahemikest otsida. |
start |
Nõutav. Täisarv, mis tähistab arvuvahemiku algust. Arv ei tohi olla väiksem kui 0. |
stop |
Nõutav. Täisarv, mis tähistab arvuvahemiku lõppu. Arv ei saa olla argumendi start väärtusest väiksem ega sellega võrdne. |
interval |
Nõutav. Täisarv, mis määrab arvuvahemiku allosade suuruse (jääb argumentide start ja stop väärtuse vahele). |
Kommentaarid
Funktsioon Partition tuvastab mingi kindla vahemiku, kuhu arv kuulub, ja tagastab seda vahemikku kirjeldava variandi (stringi). Funktsioonist Partition on kõige enam abi päringute tegemisel. Saate luua valikupäringu, et näha, kui palju on erinevates vahemikes tellimusi, näiteks leida tellimused väärtusvahemikus 1–1000, 1001–2000 jne.
Järgmises tabelis on näidatud, kuidas määratakse vahemikud kolme algus-,stop- ja intervalliargumendi abil. Veerud Esimene vahemik ja Viimane vahemik näitavad, mida sektsioon tagastab. Vahemikke tähistab lowervalue:uppervalue, kus vahemiku madal lõpp (alamväärtus) on eraldatud vahemiku ülaservast (ülemväärtusest) kooloniga (:).
start |
stop |
interval |
Enne esimest |
Esimene vahemik |
Viimane vahemik |
Pärast viimast |
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:" |
Ülal esitatud tabeli kolmandas reas olev tulem kuvatakse siis, kui argumentidega start ja stop määratakse numbrikogum, mida ei saa argumenti interval kasutades võrdsetesse osadesse jagada. Viimane vahemik jõuab argumendi stop väärtuseni (11 arvu) (kuigi argumendi interval väärtus on 20).
Vajaduse korral tagastab funktsioon Partition vahemiku nii, et selles oleks piisavalt tühikuid, et jätta koolonist vasakule ja paremale sama palju märke, kui on argumendis stop (pluss üks). Kui kasutate funktsiooni Partition muude arvudega, siis käsitletakse tulemusena saadavat teksti korrektselt iga järgneva toimingu korral.
Kui argumendi interval väärtus on 1, on vahemik ikkagi kujul number:number, seda ka olenemata argumentide start ja stop väärtustest. Näiteks kui interval on 1, number on 100 ja stop on 1000, siis tagastab funktsioon Partition väärtuse " 100: 100".
Kui mingi osa on null, siis tagastab funktsioon Partition väärtuse Null.
Päringu näited
Avaldis |
Tulemid |
SELECT Partition(unitprice,40,240;20) AS PriceRange, count(productsales.unitprice) AS Count FROM productSales GROUP BY Partition(unitprice,40,240,20); |
Loob vahemike kogumi väärtustele väljal "ühikuhind" alates "start"(40) kuni "stop"(240) võrdse "interval"(20) suuruseni ja arvutab "ühikuhinna" arvu vastavates vahemikes. Kuvab vahemikud veerus PriceRange ja loendus veerus Count. |
VBA näide
Selles näites oletatakse, et teil on tabel „Tellimused“, mis sisaldab välja „Vedu“. Sellega arvutatakse välja, kui palju tellimusi jääb mingisse kindlasse veokulude vahemikku. Funktsiooni Partition abil määratakse vastavad vahemikud ning seejärel arvutatakse funktsiooniga SQL Count“ kui palju tellimusi neisse vahemikesse jääb. Selles näites on funktsiooni Partition argumendite väärtused järgmised: start = 0, stop = 500, interval = 50. Esimene vahemik oleks seega 0:49 (jne kuni 500ni).
SELECT DISTINCTROW Partition([freight],0, 500, 50) AS Range,
Count(Orders.Freight) AS Count FROM Orders GROUP BY Partition([freight],0,500,50);