Awal dan Akhir Bulan

Manipulasi tanggal pada database sangat diperlukan. Sebagai permulaan Aku mengambil kasus : “Bagaimana cara mengambil tanggal awal bulan atau tanggal akhir bulan pada SQL Server”.

Kasus tersebut Aku temui ketika mengerjakan suatu project yang membutuhkan manipulasi data, untuk mencari data yang ada pada satu bulan, dengan masukkan tanggal asal. Misalnya mencari awal bulan / akhir bulan dengan masukkan tanggal : 2011-04-10,  maka hasil yang keluar adalah : 2011-04-01 untuk awal bulan dan 2011-04-30 untuk akhir bulan.

Tanpa kita mendifinisikan tanggalnya, maka sistem akan secara otomatis mengetahi bahwa bulan april tahun 2011 adalah tanggal 30 bukan tanggal 31. Daripada kita ribet mendifinisikan tiap bulan menggunakan IF … ELSE IF …, Lebih baiknya menggunakan cara berikut :

Declare @awal smalldatetime, @akhir smalldatetime, @tgl smalldatetime

SET @tgl = ‘2011-04-10’

SET @awal = (SELECT DATEADD(dd,-(DAY(DATEADD(mm,1,@tgl))-1),DATEADD(mm,0,@tgl)))

SET @akhir = (SELECT DATEADD(dd,-DAY(DATEADD(mm,1,@tgl)), DATEADD(mm,1,@tgl)))

SELECT @awal

SELECT @akhir

Hasil : @awal : 2011-04-01 00:00:00 dan @akhir : 2011-04-30 00:00:00

Note : Perlu diperhatikan jika digunakan untuk query BETWEEN @awal AND @akhir, karena data tanggal ‘2011-04-03 10:08:18’ TIDAK ikut terambil.

Semoga bermanfaat.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s