Bazen yazdığınız sorgular da zaman formatın da ki bir değeri saniye cinsinden tekrardan hesaplamanız gerekebilir. Böyle bir durumda SQL hazır fonksiyonları tam olarak işinizi görmez işte o zaman kullanmanız sizin yardımınıza koşan fonksiyon aşağıdaki yer almakta 🙂
Fonksiyona yalnız değeri string tipte göndermeniz gerekmektedir !!!
CREATE FUNCTION [dbo].[fConvertDuration] (@value NVARCHAR(20))
RETURNS INT AS
BEGIN
DECLARE @Hour NVARCHAR(20)
DECLARE @Minute NVARCHAR(20)
DECLARE @Second NVARCHAR(20)
DECLARE @nHour int
DECLARE @nMinute int
DECLARE @nSecond int
SET @Hour = dbo.fString_Split(@value,1,':')
SET @Minute = dbo.fString_Split(@value,2,':')
SET @Second = dbo.fString_Split(@value,3,':')
SET @nHour = CAST(@Hour AS INT)
SET @nMinute = CAST(@Minute AS INT)
SET @nSecond = CAST(@Second AS INT)
IF(@nMinute > 0)
BEGIN
SET @nSecond = @nSecond + (60 * @nMinute)
END
IF(@nHour > 0)
BEGIN
SET @nSecond = @nSecond + (60 * (60 * @nHour))
END
RETURN @nSecond
END