End Of Month Function

Gak sengaja lagi buka-buka helpnya SQL Server 2012 kemudian menemukan sebuah function baru dalam pengelolaan tanggal yaitu function End of Month atau ditulis dengan EOMonth()

Biasanya kalo kita mau mencari tanggal berapa sebuah bulan berakhir, kita dapat menggunakan cara berikut :

DECLARE @DATE DATETIME 
SET @DATE='2013-01-17' 
SELECT CONVERT(VARCHAR(10),DATEADD(ms,-2,DATEADD(MONTH, 
DATEDIFF(MONTH,0,@DATE)+1,0)),120) AS [EndOfMonth]

cukup panjang bukan. Namun di SQL Server 2012 kini telah tersedia function khusus untuk kasus diatas.

Syntax nya adalah sebagai berikut :

EOMONTH ( start_date [, month_to_add ] )

Start_date adalah tanggal dimana tanggal akhir bulan pada start_date tersebut hendak dicari.

month_to_add merupakan optional integer expression yang akan memberikan interval bulan yang akan dicari dari bulan yang tertera di start_date.

contoh penggunaannya adalah sebagai berikut :

DECLARE @start_date DATETIME 
SET @start_date='2013-01-17'  
--Mencari tanggal akhir pada bulan yang tertera di start_date
select EOMONTH(@start_date) [Akhir Bulan] 

--Mencari tanggal akhir pada 2 bulan setelah start_date
select EOMONTH(@start_date,2) [Akhir Bulan] 

--Mencari tanggal akhir pada 2 bulan sebelum start_date
select EOMONTH(@start_date,-2) [Akhir Bulan]

demikian semoga bermanfaat.

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.