Merhaba Arkadaşlar,
Mssql de zaman hesapla fonksiyonunu ele alacağız.
Fonksiyonun amacı : gönderilen tarih ile şu anki zaman arasındaki farkı (3 dk, 5 saat, 1 yıl vb.) geri döndürmektir.
Kolay gelsin.
CREATE FUNCTION [dbo].[zaman_hesapla]
(
@tarih smalldatetime
)
RETURNS nvarchar(50)
AS
BEGIN
DECLARE @Result nvarchar(50)
if(DATEDIFF(month,@tarih,getdate())>12)
begin
set @Result= convert(nvarchar(20),
DATEDIFF(year,@tarih,getdate())) + ' yıl'
end
else if(DATEDIFF(day,@tarih,getdate())>30)
begin
set @Result= convert(nvarchar(20),
DATEDIFF(month,@tarih,getdate())) + ' ay'
end
else if(DATEDIFF(hour,@tarih,getdate())>24)
begin
set @Result=convert(nvarchar(20),
DATEDIFF(day,@tarih,getdate())) + ' gün'
end
else if(DATEDIFF(minute,@tarih,getdate())>60)
begin
set @Result=convert(nvarchar(20),
DATEDIFF(hour,@tarih,getdate())) + ' saat'
end
else if(DATEDIFF(second,@tarih,getdate())>60)
begin
set @Result=convert(nvarchar(20),
DATEDIFF(minute,@tarih,getdate())) + ' dk'
end
else if(DATEDIFF(second,@tarih,getdate())>0)
begin
set @Result=convert(nvarchar(20),
DATEDIFF(second,@tarih,getdate())) + ' sn'
end
else
begin
set @Result='az önce'
end
RETURN(@Result)
END
ConversionConversion EmoticonEmoticon