Berikut saya berikan Script Funtion menggunakan SQL Server 2000 untuk mengetahui umur Tahun, Bulan dan Hari.
Copykan ke SQL Analyzer kemudian Run (F5).
------ By. Sigit Setiya Gunawan, S.Kom
CREATE Function GetUmur(@Dateofbirth Datetime, @Datenow Datetime)
Returns Varchar(20)
As
Begin
Declare @Birthtahun Int, @Birthbulan Int, @Birthhari Int
Declare @Nowtahun Int, @Nowbulan Int, @Nowhari Int
Declare @Agetahun Int, @Agebulan Int, @Agehari Int Declare @Umur Varchar(20)
--tanggal lahir
Set @Birthtahun = Datepart(yy, @Dateofbirth)
Set @Birthbulan = Datepart(m, @Dateofbirth)
Set @Birthhari = Datepart(d, @Dateofbirth)
--tanggal sekarang
Set @Nowtahun = Datepart(yy, @Datenow)
Set @Nowbulan = Datepart(m, @Datenow)
Set @Nowhari = Datepart(d, @Datenow)
--umur
If @Birthbulan > @Nowbulan
Begin
Set @Agetahun = @Nowtahun - @Birthtahun - 1
Set @Nowbulan = @Nowbulan + 12
End Else
Set @Agetahun = @Nowtahun - @Birthtahun
If @Birthhari > @Nowhari
Begin
Set @Agebulan = @Nowbulan - @Birthbulan -1
Set @Nowhari = @Nowhari + 30
End Else
Set @Agebulan = @Nowbulan - @Birthbulan
Set @Agehari = @Nowhari - @Birthhari
Set @Umur = '' If @Agetahun > 0
Set @Umur = @Umur + Rtrim(Cast(@Agetahun As Char(2))) + 'Th '
If @Agebulan > 0
Set @Umur = @Umur + Rtrim(Cast(@Agebulan As Char(2))) + 'Bl '
If @Agehari > 0
Set @Umur = @Umur + Rtrim(Cast(@Agehari As Char(2))) + 'Hr'
Return(@Umur)
End
Atau download Sriptnya di SINICREATE Function GetUmur(@Dateofbirth Datetime, @Datenow Datetime)
Returns Varchar(20)
As
Begin
Declare @Birthtahun Int, @Birthbulan Int, @Birthhari Int
Declare @Nowtahun Int, @Nowbulan Int, @Nowhari Int
Declare @Agetahun Int, @Agebulan Int, @Agehari Int Declare @Umur Varchar(20)
--tanggal lahir
Set @Birthtahun = Datepart(yy, @Dateofbirth)
Set @Birthbulan = Datepart(m, @Dateofbirth)
Set @Birthhari = Datepart(d, @Dateofbirth)
--tanggal sekarang
Set @Nowtahun = Datepart(yy, @Datenow)
Set @Nowbulan = Datepart(m, @Datenow)
Set @Nowhari = Datepart(d, @Datenow)
--umur
If @Birthbulan > @Nowbulan
Begin
Set @Agetahun = @Nowtahun - @Birthtahun - 1
Set @Nowbulan = @Nowbulan + 12
End Else
Set @Agetahun = @Nowtahun - @Birthtahun
If @Birthhari > @Nowhari
Begin
Set @Agebulan = @Nowbulan - @Birthbulan -1
Set @Nowhari = @Nowhari + 30
End Else
Set @Agebulan = @Nowbulan - @Birthbulan
Set @Agehari = @Nowhari - @Birthhari
Set @Umur = '' If @Agetahun > 0
Set @Umur = @Umur + Rtrim(Cast(@Agetahun As Char(2))) + 'Th '
If @Agebulan > 0
Set @Umur = @Umur + Rtrim(Cast(@Agebulan As Char(2))) + 'Bl '
If @Agehari > 0
Set @Umur = @Umur + Rtrim(Cast(@Agehari As Char(2))) + 'Hr'
Return(@Umur)
End
Untuk pemanggilan script diatas :
Select dbo.GetUmur('1980/04/17',getdate())
Selamat mencoba broww...
Post a Comment