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