Palauttaa variantin (merkkijono), joka ilmaisee, missä numero esiintyy lasketuissa alueissa.
Syntaksi
Partition( numero, alku, loppu, väli)
Partition-funktion syntaksilla on seuraavat argumentit:
Argumentti |
Kuvaus |
luku |
Pakollinen. Kokonaisluku, jonka haluat määrittää alueissa. |
alku |
Pakollinen. Kokonaisluku, joka aloittaa numeroalueen. Luku ei voi olla nollaa pienempi. |
loppu |
Pakollinen. Kokonaisluku, joka lopettaa numeroalueen. Luku ei voi olla yhtä suuri tai pienempi kuin alku. |
väli |
Pakollinen. Kokonaisluku, joka määrittää osioiden koon lukujen kokonaisalueella (välillä alku ja loppu). |
Huomautuksia
Partition-funktio tunnistaa alueen, jolla luku laskee, ja palauttaa variantin (merkkijonon), joka kuvaa kyseistä aluetta. Partition-funktiosta on eniten hyötyä kyselyissä. Voit luoda valintakyselyn, joka näyttää, kuinka monta tilausta kuuluu eri alueille, esimerkiksi tilausarvot 1–1000, 1001–2000 ja niin edelleen.
Seuraavassa taulukossa esitetään, miten alueet määritetään käyttämällä kolmea alku-, loppu- ja väli-argumenttia. Ensimmäinen alue- ja Viimeinen alue -sarakkeissa näkyy, mitä Partition-funktio palauttaa. Alueita kuvataan käyttämällä alempi arvo:ylempi arvo, jossa alueen alaraja (alempi arvo) on erotettu alueen ylärajasta (ylempi arvo) kaksoispisteellä (:).
alku |
loppu |
väli |
Ennen ensimmäistä |
Ensimmäinen alue |
Viimeinen alue |
Viimeisen jälkeen |
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: " |
Yllä olevassa taulukossa kolmas rivi näyttää tuloksen, kun alku ja loppu määrittävät numeroita, joita väli ei voi jakaa tasan. Viimeinen alue laajentaa loppuun (11 numeroa), vaikka väli on 20.
Tarpeen vaatiessa Partition palauttaa alueen tarpeeksi monella välilyönnillä ensimmäisenä merkkinä, jotta sarakkeen vasemmalla ja oikealla on sama määrä merkkejä plus yksi kuin lopussa. Tämä mahdollistaa sen, että jos käytät Partition-funktiota muiden lukujen kanssa, tuloksena oleva teksti käsitellään oikein minkä tahansa myöhemmän lajittelutoiminnon aikana.
Jos väli on 1, alue on numero:numero riippumatta alku- ja loppu-argumenteista. Jos esimerkiksi väli on 1, luku on 100 ja loppu 1 000, Partition-funktio palauttaa " 100: 100".
Jos jokin osista on tyhjäarvo, Partition palauttaa tyhjäarvon.
Esimerkkejä kyselystä
Lauseke |
Tulokset |
SELECT Partition(unitprice,40,240,20) AS PriceRange, count(productsales.unitprice) AS Count FROM productSales GROUP BY Partition(unitprice,40,240,20); |
Luo joukon alueita kentän "yksikköhinta" arvoille "aloitus"(40) ja "pysäytys"(240), joiden koko on yhtä suuri kuin "aikaväli"(20), ja laskee yksikköhinta-argumentin määrän vastaavilla alueilla. Näyttää alueet sarakkeessa PriceRange ja laske sarakkeessa 'Määrä'. |
VBA-esimerkki
Tässä esimerkissä oletetaan, että sinulla on Freight (Rahti) -kentän sisältävä Orders (Tilaukset) -taulukko. Esimerkissä luodaan valintatoimintosarja, joka laskee sellaisten tilausten lukumäärän, joiden rahtikulu kuuluu jokaiseen alueeseen. Partition-funktiota käytetään ensin näiden alueiden laatimiseen, ja SQL Count -funktio laskee sen jälkeen tilausten määrän jokaisessa alueessa. Tässä esimerkissä argumentit Partition-funktiolle ovat alku = 0, loppu = 500, väli = 50. Ensimmäinen alue olisi silloin 0:49 ja niin edelleen aina 500:aan asti.
SELECT DISTINCTROW Partition([freight],0, 500, 50) AS Range,
Count(Orders.Freight) AS Count FROM Orders GROUP BY Partition([freight],0,500,50);