sql >> データベース >  >> RDS >> PostgreSQL

1〜10の範囲のランダムな数値を生成します

    1から10までの数字で、1以上10未満のフロートを意味する場合、それは簡単です。

    select random() * 9 + 1
    

    これは次の方法で簡単にテストできます:

    # 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)
    

    1以上10未満の整数が必要な場合は、簡単です。

    select trunc(random() * 9 + 1)
    

    繰り返しますが、簡単なテスト:

    # 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)
    


    1. SQLiteの英数字を含む行を返す

    2. Ubuntu16.10でPostgreSQLを9.6から10.0にアップグレードします

    3. 予算内での分割

    4. PL/SQLの単体テスト