İleri Seviye SQL Server Sql Server

SQL Server’da İki Tarih Arasında Random Bir Tarih Oluşturmak

SQL Server Eğitimleri Kanalına Abone Olun

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.

1 Kez Okundu
SQL Server Eğitimleri Kanalına Abone Olun

Yazar hakkında

Yavuz Selim Kart

SQL Server tarafında kendini ilerletmeye çalışırken bildiklerini sürekli başkalarına aktaran, yazılım dünyasında (C#, Java, Python vb.) kendini güncel tutmaya çalışan, araştırma yapmaktan bıkmayan, meraklı, bilginin üzerine bilgi katmaktan mutluluk duyan bir yazılım eğitmeni ve kod sever.
Grafik tasarım dünyasında Indesign'ı anlatacak kadar iyi kullanabilen, Photoshop ve Illustrator'e de orta düzey hakimiyeti bulunan, internet üzerinde online kimya dergisi kurmuş ve bunu yüzbinlerce kişiye ulaştırmayı başaran bir grafik sever.
WordPress tarafında 5 adet web sitesi kurmuş, bu sistemler üzerine çalışan bir WordPress sever.
Sosyal medya üzerinde okumalara ve araştırmalara devam eden, kendi kurmuş olduğu kimya dergisini daha çok kişiye nasıl ulaştırırım diye düşünen ve bu konuda SEO çalışmaları üzerine kafa yoran bir Sosyal Medya sever.
Kısaca çok çalışmayı seven, azimli biriyim.

Kopyalamak Yasaktır!