2013. március 8., péntek

Hónap első és utolsó napja

A hónap kezdő és végdátumának meghatározása különböző alkalmazásokban:

PL/SQL (ORACLE):

Aktuális hónap első napja:
trunc(sysdate, 'month') vagy trunc(sysdate, 'MM')

Aktuális hónap utolsó napja:
last_day(sysdate)

Egyéb:

 Az év első napja:
 trunc(sysdate, 'year')

 2 hónap múlva:
 add_months(sysdate, 2)



T-SQL:

Aktuális hónap első napja:
DATEADD(m, DATEDIFF(m,0,getdate() ), 0)

Aktuális hónap utolsó napja:
DATEADD(ms,-3,DATEADD(m, DATEDIFF(m,0,getdate() )+1, 0))

Előző év azonos hónapjának első napja:
DATEADD(m, DATEDIFF(m,0,getdate() )-12, 0)

Előző év azonos hónapjának utolsó napja:
DATEADD(ms,-3,DATEADD(mm, DATEDIFF(m,0,getdate() )-11 , 0))

Év első és utolsó napja:
Select DATEFROMPARTS(year(getdate()),1,1) Datum_ev_elso_napja
     , DATEFROMPARTS(year(getdate()),12,31) Datum_ev_utolso_napja

select DATEtimeFROMPARTs(year(getdate())-1,1,1,0,0,0,0) DatumIdo_tavaly_elso_napja
     , DATEtimeFROMPARTs(year(getdate())-1,12,31,23,59,59,997) DatumIdo_tavaly_utolso_napja

Egyéb:

 Szövegként megadott dátum átalakítása:
 CONVERT(DATETIME,'19980101',101)

 Rendszerdátum előtt 2 nap:
 DATEADD(d, 0, DATEADD  (d, -2, getdate() ))




Report Builder (SSRS):

Aktuális hónap első napja:
=DateSerial(DatePart("yyyy",today()),DatePart("m",today()),1)

Aktuális hónap utolsó napja:

=DateAdd(DateInterval.Day,-1, DateAdd(DateInterval.Month,1, DateSerial(DatePart("yyyy",today()),DatePart("m",today()),1)))

Előző hónap első napja:
=DateSerial(DatePart("yyyy",today()),DatePart("m",today())-1,1)

Előző hónap utolsó napja:
=DateAdd(DateInterval.Day,-1, DateAdd(DateInterval.Month,1, DateSerial(DatePart("yyyy",today()),DatePart("m",today())-1,1)))



0 megjegyzés:

Megjegyzés küldése