Logige sisse Microsofti kontoga
Logige sisse või looge konto.
Tere!
Valige mõni muu konto.
Teil on mitu kontot
Valige konto, millega soovite sisse logida.

Tagastatakse andmed, mille tüüp on Variant (pikk) ja mis määravad kahe konkreetse kuupäeva vahelised ajavahemikud.

Süntaks

DateDiff ( interval, date1, date2 [, firstdayofweek] [, firstweekofyear] )

Funktsiooni DateDiff süntaksil on järgmised argumendid.

Argument

Kirjeldus

interval

Nõutav. Stringavaldis, millega määratakse ajavahemik kuupäeva 1 (date1) ja kuupäeva 2 (date2) vahelise erinevuse arvutamiseks.

date1, date2

Nõutav. Andmetüüp Variant (kuupäev). Kaks kuupäeva, mida soovite arvutamisel kasutada.

firstdayofweek

Valikuline. Nädala esimest päeva määrav konstant. Kui seda pole määratud, siis eeldatakse, et see on pühapäev.

firstweekofyear

Valikuline. Konstant, mis määratleb aasta esimese nädala. Kui seda pole määratud, eeldatakse, et esimene nädal on 1. jaanuari nädal.

Sätted

argument intervallil on järgmised sätted.

Säte

Kirjeldus

yyyy

Aasta

q

Kvartal

m

Kuu

y

Kuupäev

d

Päev

w

Nädalapäev

ww

Nädal

h

Tund

n

Minut

s

Sekund

Argumendil firstdayofweek on järgmised sätted.

Konstant

Väärtus

Kirjeldus

vbUseSystem

0

Kasutatakse NLS API sätet.

vbSunday

1

Pühapäev (vaikeväärtus)

vbMonday

2

Esmaspäev

vbTuesday

3

Teisipäev

vbWednesday

4

Kolmapäev

vbThursday

5

Neljapäev

vbFriday

6

Reede

vbSaturday

7

Laupäev

Konstant

Väärtus

Kirjeldus

vbUseSystem

0

Kasutatakse NLS API sätet.

vbFirstJan1

1

Alustage 1. jaanuari nädalast (vaikeväärtus).

vbFirstFourDays

2

Alustatakse esimesest nädalast, millel on uues aastas vähemalt neli päeva.

vbFirstFullWeek

3

Alustatakse aasta esimesest täisnädalast.

Kommentaarid

Saate funktsiooni DateDiff abil kindlaks teha, mitu määratud ajavahemikku kahe kuupäeva vahele jääb. Näiteks saate funktsiooni DateDiff abil arvutada kahe kuupäeva vahele jäävate päevade arvu või tänasest aasta lõpuni jäävate päevade arvu.

Kahe kuupäeva (date1 ja date2) vahele jäävate päevade arvutamiseks saate kasutada kas kuupäeva („y”) või päeva („d”). Kui argumendi interval väärtuseks on nädalapäev („w”), tagastab DateDiff kahe kuupäeva vahelise nädalate arvu. Kui kuupäev 1 (date1) langeb esmaspäevale, loendab DateDiff kuupäevani 2 (date2) jäävate esmaspäevade arvu. Funktsioon loendab ka kuupäeva 2 (date2), kuid mitte kuupäeva 1 (date1). Kui argumendi interval väärtuseks on nädal („ww”), tagastab funktsioon DateDiff kahe kuupäeva vahele jäävate kalendrinädalate arvu. Funktsioon loendab kahe kuupäeva (date1 ja date2) vahele jäävate pühapäevade arvu. Funktsioon DateDiff arvab sisse kuupäeva 2 (date2), kui see langeb pühapäevale, aga mitte kuupäeva 1 (date1), isegi kui see langeb pühapäevale.

Kui kuupäev 1 (date1) on pärast kuupäeva 2 (date2), siis tagastab funktsioon DateDiff negatiivse arvu.

Argument firstdayofweek mõjutab arvutusi, kus kasutatakse vahemikusümboleid „w” ja „ww”.

Kui date1 või date2 on kuupäevaliteraal, muutub määratud aasta selle kuupäeva püsivaks osaks. Kui argumendi date1 või date2 väärtus on kahekordsetes jutumärkides (" ") ja aasta on ära jäetud, sisestatakse praegune aasta igal kuupäeva 1 (date1) või kuupäeva 2 (date2) avaldise hindamisel koodi. Nii on võimalik kirjutada koodi, mida saab kasutada eri aastatel.

31. detsembri võrdlemisel vahetult järgneva aasta 1. jaanuariga tagastab DateDiff aasta väärtusena („yyyy”) arvu 1, kuigi vahemik hõlmab ainult ühte päeva.

Märkus.:  Kui atribuudi Kalender sätteks on valitud Gregoriuse, peab argumendi date1 ja date2 kuupäeva määrama samuti Gregoriuse kalendri järgi. Islami kalendri korral tuleb kasutada islami ajaarvestusele vastavat kuupäeva.

DateDiff Query näited

Avaldis

Tulemid

SELECT DateDiff("yyyy",#01/01/2010#,[DateofSale]) AS Avaldis1 FROM Tootemüük;

Tagastab argumendi Date2 ja Date1 vahe (argumendi Date1 vanimana ja Date2 uusimana) arvuna "Aastad". Tulem: välja "DateofSale" ja kuupäeva "01.01.2010" väärtuste erinevus "Aastate arvuna".

SELECT DateDiff("q",[DateofSale],Date()) AS DaysSinceSale FROM ProductSales;

Tagastab süsteemikuupäeva ja kuupäeva "DateofSale" vahe kvartalite arvuna (kalenderaasta põhjal) ja kuvab veerus "DaysSinceSale". tagastab süsteemikuupäeva ja kuupäeva "DateofSale" vahe arvuna "Kuud" ja kuvab veerus "DaysSinceSale".

SELECT DateDiff("y",[DateofSale],Date()) AS DaysSinceSale FROM ProductSales;

Tagastab süsteemikuupäeva ja kuupäeva "DateofSale" vahe arvuna "Days" ja kuvatakse veerus "DaysSinceSale".

SELECT DateDiff("d",[DateofSale],Date()) AS DaysSinceSale FROM ProductSales;

Tagastab süsteemikuupäeva ja kuupäeva "DateofSale" vahe arvuna "Days" ja kuvatakse veerus "DaysSinceSale".

SELECT DateDiff("w",[DateofSale],Date()) AS DaysSinceSale FROM ProductSales;

Tagastab süsteemikuupäeva ja kuupäeva "DateofSale" vahe nädalapäevade arvuna ja kuvab veerus "DaysSinceSale". Kui "DateofSale" langeb esmaspäevale, loendab DateDiff süsteemikuupäevani jäänud esmaspäevade arvu. See loendab süsteemikuupäeva, kuid mitte väärtuse lahtris "DateofSale".

SELECT DateDiff("ww",[DateofSale],Date()) AS DaysSinceSale FROM ProductSales;

Tagastab süsteemikuupäeva ja kuupäeva "DateofSale" vahe arvuna "Kalender Weeks" ja kuvab veerus "DaysSinceSale". See loendab pühapäevade arvu vahemikus "DateofSale" ja "system date". See loendab süsteemikuupäeva, kui see langeb pühapäevale; kuid see ei loe ette sõna "DateofSale", isegi kui see langeb pühapäevale.

SELECT DateDiff("h",[DateTime],Date()) AS DaysSinceSale FROM ProductSales;

Tagastab süsteemikuupäeva ja kuupäeva "DateTime" vahe arvuna "Hours" ja kuvatakse veerus "DaysSinceSale".

SELECT DateDiff("n",[DateTime],Date()) AS DaysSinceSale FROM ProductSales;

Tagastab süsteemikuupäeva ja kuupäeva "DateTime" vahe arvuna "Minutes" ja kuvatakse veerus "DaysSinceSale".

SELECT DateDiff(",[DateTime],Date()) AS DaysSinceSale FROM ProductSales;

Tagastab süsteemikuupäeva ja kuupäeva "DateTime" vahe sekundite arvuna ja kuvab veerus "DaysSinceSale".

Näidisavaldis

Funktsiooni DateDiff kasutamine avaldises     Funktsiooni DateDiff saate kasutada kõikjal, kus saate kasutada avaldisi. Oletagem näiteks, et teil on vorm, mida kasutate klienditellimuste täitmiseks. Tabelis Tellimused on väli Tarnekuupäev, mis sisaldab kuupäeva, milleks klient peab tellimuse vastu võtma. Saate kasutada funktsiooni DateDiff koos vormi tekstiväljaga, et kuvada tellimuse tarnekuupäevale jäänud päevade arv.

Eeldades, et mis tahes tellimuse tarnimiseks läheb aega kümme päeva, saate määrata tekstivälja atribuudi Juhtelemendi allikas järgmiselt:

=DateDiff(“d”, Now(), [Tellimused].[Tarnekuupäev])-10

Kui avate vormi vormivaates, kuvatakse tekstiväljal tellimuse tarnekuupäevani jäänud päevade arv. Kui kättetoimetamiseni on jäänud vähem kui 10 päeva, on tekstiväljal negatiivne arv, mis näitab seda, mitu päeva tellimus hilineb, kui see kohe välja saata.

VBA näide

Funktsiooni DateDiff kasutamine VBA-koodis    

Selles näites kuvatakse funktsiooni DateDiff abil konkreetse kuupäeva ja tänase päeva vahele jäävate päevade arv.

Dim TheDate As Date    ' Declare variables.
Dim Msg
TheDate = InputBox("Enter a date")
Msg = "Days from today: " & DateDiff("d", Now, TheDate)
MsgBox Msg

Lisateave

Õige kuupäevafunktsiooni valimine

Kas vajate veel abi?

Kas soovite rohkem valikuvariante?

Siin saate tutvuda tellimusega kaasnevate eelistega, sirvida koolituskursusi, õppida seadet kaitsma ja teha veel palju muud.

Kogukonnad aitavad teil küsimusi esitada ja neile vastuseid saada, anda tagasisidet ja saada nõu rikkalike teadmistega asjatundjatelt.

Kas sellest teabest oli abi?

Kui rahul te keelekvaliteediga olete?
Mis mõjutas teie hinnangut?
Kui klõpsate nuppu Edasta, kasutatakse teie tagasisidet Microsofti toodete ja teenuste täiustamiseks. IT-administraator saab neid andmeid koguda. Privaatsusavaldus.

Täname tagasiside eest!

×