SQL Server’da Random Saat Değerleri Oluşturan Fonksiyon
Herkese merhaba,
Bu yazıda SQL Server’da random saat değerleri oluşturan fonksiyon hakkında bilgi vereceğim.
SQL Server’da bazı durumlarda random saat değerleri oluşturmak isteyebiliriz. Burada yazılan fonksiyonda iki saat aralığı parametre olarak verilecek ve bu iki saat aralığı içinde bir saat değeri oluşturulacaktır.
Aşağıdaki kod yardımıyla bu işlemi rahatlıkla yapabilirsiniz.
--View oluşturma
CREATE VIEW vw_SaatRandom
AS
SELECT RAND() AS Saat;
--Fonksiyon oluşturma
CREATE FUNCTION IkiSaatArasiDegerOlusturma
(
@BaslangicSaati VARCHAR(8),
@BitisSaati VARCHAR(8)
)
RETURNS VARCHAR(8)
AS
BEGIN
DECLARE @RandomSaatRakam INT;
DECLARE @BaslangicSaatiRakam INT;
DECLARE @BitisSaatiRakam INT;
SET @BaslangicSaatiRakam = LEFT(@BaslangicSaati, 2) * 3600 + DATEDIFF(ss, 0, '00' + RIGHT(@BaslangicSaati, 6));
SET @BitisSaatiRakam = LEFT(@BitisSaati, 2) * 3600 + DATEDIFF(ss, 0, '00' + RIGHT(@BitisSaati, 6));
SELECT @RandomSaatRakam = ROUND( ((@BaslangicSaatiRakam - @BitisSaatiRakam - 1) *
(
SELECT Saat FROM vw_SaatRandom
) + @BitisSaatiRakam
),
0
);
RETURN CONVERT(CHAR(8), DATEADD(SECOND, @RandomSaatRakam, 0), 108);
END;
--Fonksiyon kullanımı
SELECT dbo.IkiSaatArasiDegerOlusturma('12:00:00', '13:00:00') AS SaatDegeri;
Kodu çalıştırdığınızda aşağıdaki gibi bir sonuç alacaksınız.
Görüldüğü gibi random saat değeri oluşturulmuş oldu.
Herkese çalışma hayatında ve yaşamında başarılar kolaylıklar.