SQL Server’da İki Tarih Arasında Random Bir Tarih Oluşturmak
Herkese merhaba. Bu yazıda SQL Server’da iki tarih arasında random bir tarih oluşturmak hakkında bilgi vereceğim.
SQL Server’da bazı durumlarda belirtilen iki tarih arasında random bir tarih oluşturmak isteyebiliriz.
Aşağıdaki fonksiyon yardımıyla bu işlemi rahatlıkla yapabilirsiniz.
--Random sayı oluşturan view oluşturulması (Oluşturulması önemli)
CREATE VIEW vw_Random
AS
SELECT RAND() AS Random;
--Fonksiyon oluşturulması
CREATE FUNCTION IkiTarihArasıRandomTarihOlustur
(
@BaslangicTarihi DATE,
@BitisTarihi DATE
)
RETURNS DATE
AS
BEGIN
DECLARE @AradakiGunler INT;
DECLARE @RandomGun INT;
SET @AradakiGunler = DATEDIFF(DAY, @BaslangicTarihi, @BitisTarihi);
SET @RandomGun = CAST(
(
SELECT * FROM vw_Random
) * 10000 AS INT) % @AradakiGunler;
RETURN DATEADD(DAY, @RandomGun, @BaslangicTarihi);
END;
--Kullanımı
SELECT dbo.IkiTarihArasıRandomTarihOlustur('20190101', '20190131');
Fonksiyonu oluşturup çalıştırdığınızda aşağıdaki gibi bir sonuç alacaksınız.
Görüldüğü üzere iki tarih arası baz alınarak random bir tarih oluşturulmuş oldu.
Herkese çalışma hayatında ve yaşamında başarılar kolaylıklar.