Beda dgn di ms acces yg tinggal ketik : "select [tglawal]-[tglakhir] as umur from gatel"
tp klo query diatas dicoba di ms sql server tentu akan beda hasil nya
nie da fungsi buat ngitung umur di ms sql server:
==============================================================
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))) + 'Bln '
IF @AgeHari > 0
SET @Umur = @Umur + RTrim(Cast(@AgeHari As Char(2))) + 'Hr'
RETURN(@Umur)
END
====================================
klo mau manggil tinggal ketik query:
Select dbo.GetUmur(@TanggalLahir, GetDate()) As Umur
========================================
tp klo query diatas dicoba di ms sql server tentu akan beda hasil nya
nie da fungsi buat ngitung umur di ms sql server:
==============================================================
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))) + 'Bln '
IF @AgeHari > 0
SET @Umur = @Umur + RTrim(Cast(@AgeHari As Char(2))) + 'Hr'
RETURN(@Umur)
END
====================================
klo mau manggil tinggal ketik query:
Select dbo.GetUmur(@TanggalLahir, GetDate()) As Umur
========================================
Tidak ada komentar:
Posting Komentar