SQL Server’da Random Fonksiyonu
Herkese merhaba,
Bu yazıda size SQL Server Random Fonksiyonundan bahsedeceğim.
SQL Server’da RAND() fonksiyonu geriye float tipinde sonuç döndürür.
İlk olarak genel kullanımına bakarsak RANDOM fonksiyonu şu şekilde çalışır.
Burada her defasında bize farklı bir sayı üretecektir.
1 ile 9 arasında bir sayı üretmek istiyorsak ne yapacağız.
SELECT
CEILING(RAND() * 9);
1 ile 99 arasında bir sayı üretmek istiyorsak ne yapacağız.
SELECT
CEILING((RAND() * 99));
Burada önemli olan nokta şu. Yazdığınız sorguların hangi aralık içinde olmasını istiyorsunuz ve istediğiniz aralıkta mı değer geliyor.
Bu işlem için aşağıdaki sorguyu kullanabilirsiniz.
--Temp Tablo oluşturma
CREATE TABLE #LocalTempTablo (
ID INT
);
--Sayaç Tanımlama
DECLARE @Sayac INT = 1;
--Sayaç değeri ile döngüye burada başlıyoruz.
WHILE @Sayac < 20
BEGIN
--Sayac ile her dönen değeri burada sanal tabloya insert ediyoruz
INSERT INTO #LocalTempTablo (ID)
VALUES (ceiling(RAND() * 9));
SET @Sayac += 1;
END;
--Sanal tablo üzerinde select sorgusu çekiyoruz
SELECT
*
FROM #LocalTempTablo
ORDER BY ID;
--Başka sorgular için tabloyu drop ediyoruz.
DROP TABLE #LocalTempTablo;
Görüldüğü üzere Rand() fonksiyonu ifadesi önünde Ceiling() fonksiyonu var.
1 ile 10 arasında bir sayı üretmek istiyorsak ne yapacağız
SELECT
1 + ROUND(RAND() * 9, 0);
1 ile 100 arasında bir sayı üretmek istiyorsak ne yapacağız
SELECT
1 + ROUND(RAND() * 99, 0);
0 ile 10 arasında bir sayı üretmek istiyorsak ne yapacağız
SELECT
FLOOR(RAND() * 11)
0 ile 100 arasında bir sayı üretmek istiyorsak ne yapacağız
SELECT
FLOOR(RAND() * 101);
Görüldüğü üzere istediğimiz aralıkta sayı üretebiliyoruz ve bu işlemlerde kullandığımız fonksiyonlar : Floor, Ceiling ve Round
Bunları dikkatle kullanarak istediğiniz aralıkta sayı üretebilmeniz mümkündür.
Herkese çalışma hayatında ve yaşamında başarılar kolaylıklar.