menu

Wednesday, March 30, 2011

Mencari tanggal terakhir pada suatu bulan (Function)

Berikut adalah cara untuk mencari tanggal terakhir pada suatu bulan (End Of Month)
query utamanya : 

SELECT (dateadd(day, -1*day(dateadd(month, 1 ,[tanggal])),dateadd(month, 1 , [tanggal])))

misalnya kita ingin mengetahui tanggal terakhir pada bulan ini (saat ini) maka tinggal mengganti [tanggal] menjadi GETDATE()


SELECT (dateadd(day, -1*day(dateadd(month, 1 ,GETDATE())),dateadd(month, 1 , GETDATE())))


Namun Untuk memudahkan kita dalam menggunakan Query ini maka kita jadikan suatu SQL user function



Create
FUNCTION [dbo].[LastDayInMonth] (@inputdate datetime)
RETURNS
datetime

AS

BEGIN
declare @DayInMonth datetime

set @DayInMonth = (dateadd(day, -1*day(dateadd(month, 1 ,@inputdate)),dateadd(month, 1 , @inputdate)))

return @DayInMonth

END

sedangkan cara memanggil  function yang kita dibuat diatas dengan select sebagai berikut
asumsi tanggal saat ini adalah '03-29-2011' (29 maret 2011) 
maka 
  
select dbo.LastDayInMonth( '03-29-2011')

atau mencari tanggal terakhir pada saat function diexecute
  
select dbo.LastDayInMonth(GETDATE())

apabila yang dibutuhkan hanya jumlah harinya saja maka

select DATEPART(dd,dbo.LastDayInMonth(GETDATE())) as jumlah_hari

semoga bermanfaat
Dirgantara Grahita Nusantara

No comments:

Post a Comment