SORU
9 EYLÜL 2009, ÇARŞAMBA


Aralığında rastgele bir sayı üretmek 1 - 10

this question çalıştığım bir test sorgu için benim yaklaşım işe yaramadı beri, şimdi başka bir şey deniyorum. Bir şekilde söylemek pg random() 1 ile 10 arasında bana tek sayılar için fonksiyon var mı?

CEVAP
9 EYLÜL 2009, ÇARŞAMBA


1 ve 10 arasında bir sayı ile ^ herhangi bir şamandıra yani . Kolay değil daha = 1 ve < 10,:

select random() * 9   1

Bu kolayca test edilebilir:

# select min(i), max(i) from (
    select random() * 9   1 as i from generate_series(1,1000000)
) q;
       min       |       max
----------------- ------------------
 1.0000083274208 | 9.99999571684748
(1 row)

Eğer tamsayı istiyorsanız, o >Çok basit daha = 1 ve < 10,:

select trunc(random() * 9   1)

Ve yine, basit bir test:

# select min(i), max(i) from (
    select trunc(random() * 9   1) as i from generate_series(1,1000000)
) q;
 min | max
----- -----
   1 |   9
(1 row)

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Doc Adams

    Doc Adams

    20 HAZİRAN 2007
  • Eric Enge

    Eric Enge

    2 Kasım 2009
  • Kap Slap

    Kap Slap

    8 Mart 2010