tokuryo_ko
@tokuryo_ko

Are you sure you want to delete the question?

Leaving a resolved question undeleted may help others!

PostgreSQLの構文、select (random() * 100)::int % 100 について、理解できません

解決したいこと

最近OSS-DB Silver勉強しています、教科書の中で一つの構文は理解できません。
markup_1000037112.png

0から99までのランダムな数値を得るのはselect (random() * 100)::intだけできますでしょう?

あとの% 100の仕込みはあまり理解できません。

よろしければ教えてください。

自分で試したこと

Screenshot from 2024-08-18 14-12-43.png

0

2Answer

%100 で剰余を取っているのは 0 から 99 までという条件があるからでしょう。

以下の例を見てください。(0.9950906301307185 * 100)::int は 100 になります。

postgresql.jpg

2Like

Comments

  1. @tokuryo_ko

    Questioner

    非常に助かりました、ありがとうございます。

0から99までのランダムな数値を得るのはselect (random() * 100)::intだけできますでしょう?

そのはずです。

あとの% 100の仕込みはあまり理解できません。

念の為、ですかね。

0Like

Comments

  1. (random() * 100)::int は小数点以下を四捨五入するようで、100 になるケースがあるのです。

  2. 小数点以下を四捨五入する

    そうなんですね。
    ありがとうございます。

Your answer might help someone💌