Saniye’ yi Saat Formatına Çevirmek

Normalde SQL üzerinde zaman formatı dönüştürücüler ve fonksiyonlar bu işinizi temelde çözecektir. Fakat bu fonksiyonlar saat dilimi 24′ ün üstüne çıktığı anda çevrimde hata yapmaktadır. İşte bunu önlemek amacıyla en temelde kendi fonksiyonunuza ihtiyaç duymaya başlarsınız.

Bu fonksiyonumuz da bu işlemi yaparak sizlere saniyeden değerleri alıp “00:00:00” formatın da bir çıktı almanızı sağlayacaktır. İşte kodumuz aşağıdaki gibidir;

CREATE FUNCTION [dbo].[fConvertTimeFormat]
(
       @duration INT
)
RETURNS NVARCHAR(20)
AS
BEGIN
    DECLARE @Minute INT
    DECLARE @Second INT
    DECLARE @Hour INT
    DECLARE @Rump INT
    DECLARE @strTime NVARCHAR(20)
    SET @Rump = @duration
    SET @Minute = 0
    SET @Hour = 0
 
    --DAKİKA HESAPLANIYOR
    WHILE(@Rump>59)
    BEGIN
    SET @Rump = @Rump - 60
    SET @Minute = @Minute + 1
    END
    SET @Second = @Rump
 
    --SAAT HESAPLANIYOR
    SET @Rump = @Minute
    WHILE(@Rump>59)
    BEGIN
    SET @Rump = @Rump - 60
    SET @Hour = @Hour + 1
    END
    SET @Minute = @Rump
 
    --TIME FORMATI UYGULANIYOR
    IF(@Hour <=9)
        SET @strTime = '0' + CAST(@Hour AS VARCHAR) + ':'
    ELSE
        SET @strTime = CAST(@Hour AS VARCHAR) + ':'
 
    IF(@Minute<=9)
        SET @strTime = @strTime + '0' + CAST(@Minute AS VARCHAR) + ':'
    ELSE
        SET @strTime = @strTime + CAST(@Minute AS VARCHAR) + ':'
 
    IF(@Second<=9)
        SET @strTime = @strTime + '0' + CAST(@Second AS VARCHAR)
    ELSE
        SET @strTime = @strTime + CAST(@Second AS VARCHAR)
 
    RETURN @strTime
END
Etiket(ler): , .Yer işareti koy Kalıcı Bağlantı.

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir