Palauttaa variantin (kokonaisluvun), joka sisältää määritetyn osan annetusta päivämäärästä.
Varoitus Tämän funktion käytössä on ongelma. Joidenkin kalenterivuosien viimeinen maanantai voidaan palauttaa viikkona 53, jolloin sen pitäisi olla viikko 1. Lisätietoja ja vaihtoehtoinen menetelmä on artikkelissa Muotoile- tai DatePart-funktiot voivat palauttaa väärän viikkonumeron viime maanantaille vuonna. |
Syntaksi
DatePart ( aikaväli, päivämäärä [, viikonensimmäinenpäivä] [, vuodenensimmäinenviikko] )
DatePart-funktion syntaksilla on seuraavat argumentit:
Argumentti |
Kuvaus |
aikaväli |
Pakollinen. Merkkijonolauseke, joka on palautettava aikaväli. |
päivämäärä |
Pakollinen. Muuttuja-arvo (päivämäärä), jonka haluat arvioida. |
viikonensimmäinenpäivä |
Valinnainen. vakio, joka määrittää viikon ensimmäisen päivän. Jos tätä argumenttia ei määritetä, oletusasetus on sunnuntai. |
vuodenensimmäinenviikko |
Valinnainen. Vakio, joka määrittää vuoden ensimmäisen viikon. Jos tätä ei määritetä, ensimmäisen viikon oletetaan olevan viikko, jolloin tammikuun 1. päivä tapahtuu. |
Asetukset
Väliargumentilla on seuraavat asetukset:
Asetus |
Kuvaus |
yyyy |
Vuosi |
q |
Vuosineljännes |
m |
Kuukausi |
y |
Vuoden päivä |
d |
Päivä |
w |
Viikonpäivä |
ww |
Viikko |
h |
Tunti |
n |
Minuutti |
s |
Sekunti |
Viikonensimmäinenpäivä -argumentilla on seuraavat asetukset:
Vakio |
Arvo |
Kuvaus |
vbUseSystem |
0 |
Käytä NLS API -asetusta. |
vbSunday |
1 |
Sunnuntai (oletus) |
vbMonday |
2 |
Maanantai |
vbTuesday |
3 |
Tiistai |
vbWednesday |
4 |
Keskiviikko |
vbThursday |
5 |
Torstai |
vbFriday |
6 |
Perjantai |
vbSaturday |
7 |
Lauantai |
Vuodenensimmäinenviikko -argumentilla on seuraavat asetukset:
Vakio |
Arvo |
Kuvaus |
vbUseSystem |
0 |
Käytä NLS API -asetusta. |
vbFirstJan1 |
1 |
Aloita viikosta, jossa on 1. tammikuuta (oletus). |
vbFirstFourDays |
2 |
Aloita ensimmäisestä viikosta, jossa on vähintään neljä uuden vuoden päivää. |
vbFirstFullWeek |
3 |
Aloita vuoden ensimmäisestä täydestä viikosta. |
Huomautuksia
DatePart-funktiolla lasketaan päivämäärä ja palautetaan tietty aikaväli. Voit laskea DatePart-funktiolla esimerkiksi viikonpäivän tai kuluvan tunnin.
Viikonensimmäinenpäivä -argumentti vaikuttaa laskutoimituksissa, joissa käytetään aikavälejä tarkoittavia w- ja ww-symboleja.
Jos päivämäärä on päivämääräliteraali, määritetty vuosi liitetään pysyvästi päivämäärään. Jos päivämäärä kirjoitetaan kuitenkin lainausmerkkeihin (” ”) ja vuosi jätetään pois, kuluva vuosi lisätään koodiin aina, kun päivämäärä-lauseke lasketaan. Näin voidaan kirjoittaa koodia, joka on käyttökelpoista eri vuosina.
Huomautus: Jos kalenterin ominaisuusasetus on Gregoriaaninen, päivämäärä-argumenttien päivämäärä täytyy antaa gregoriaanisen kalenterin mukaisena. Islamilaista kalenteria käytettäessä päivämäärä täytyy antaa islamilaisen kalenterin mukaisena.
Funktion palauttama päivämääräosa ilmoitetaan käytössä olevan arabialaisen kalenterin aikaväliyksikön mukaisesti. Jos käytössä on esimerkiksi islamilainen kalenteri ja palautettava päivämääräosa on vuosi, vuosiarvo ilmoitetaan islamilaisen kalenterin vuotena.
Esimerkkejä kyselystä
Lauseke |
Tulokset |
SELECT DatePart("yyyy",[DateofSale]) AS NewDate FROM ProductSales; |
Palauttaa "DateofSale"-kentän päivämääräarvojen "Vuosi". |
SELECT DatePart("q",[DateofSale]) AS NewDate FROM ProductSales; |
Palauttaa "Vuosineljännes" (kalenterivuoden perusteella) päivämääräarvot kentälle "DateofSale". |
SELECT DatePart("y",[DateofSale]) AS NewDate FROM ProductSales; |
Palauttaa "Vuoden päivä" (1–365) päivämääräarvoista kentän "DateofSale". |
SELECT DatePart("d",[DateofSale]) AS NewDate FROM ProductSales; |
Palauttaa DateofSale-kentän päivämääräarvojen päivän. |
SELECT DatePart("w",[DateofSale]) AS NewDate FROM ProductSales; |
Palauttaa "Viikonpäivä" (1–7, jossa 1 edustaa sunnuntaita) päivämääräarvoista kentässä "DateofSale". |
SELECT DatePart("ww",[DateofSale]) AS NewDate FROM ProductSales; |
Palauttaa "DateofSale" -kentän päivämääräarvojen viikkonumeron (1–52). |
SELECT DatePart("h",[DateTime]) AS NewDate FROM ProductSales; |
Palauttaa "DateTime"-kentän päivämääräarvojen "Tunti". |
SELECT DatePart("n",[DateTime]) AS NewDate FROM ProductSales; |
Palauttaa Päivämääräaika-kentän päivämääräarvojen Minuutit-arvon. |
SELECT DatePart("s",[DateTime]) AS NewDate FROM ProductSales; |
Palauttaa Päivämääräaika-kentän päivämääräarvojen sekunnit. |
VBA-esimerkki
Huomautus: Seuraavissa esimerkeissä kerrotaan, kuinka tätä funktiota käytetään Visual Basic for Applications (VBA) -moduulissa. Jos haluat lisätietoja VBA:n käytöstä, valitse Sovelluskehittäjän opasHaku-kentän viereisestä luettelosta ja anna yksi tai useampi hakuehto hakukenttään.
Tässä esimerkissä käytetään DatePart-funktiota ja lasketaan, mihin vuosineljännekseen tietty päivämäärä sijoittuu.
Dim TheDate As Date ' Declare variables.
Dim Msg TheDate = InputBox("Enter a date:") Msg = "Quarter: " & DatePart("q", TheDate) MsgBox Msg