gpt4 book ai didi

postgresql 随机()错误?

转载 作者:行者123 更新时间:2023-11-29 12:45:09 31 4
gpt4 key购买 nike

我有以下语句 select random() * 999 + 111 from generate_series(1,10)

结果是:

690,046183290426
983,732229881454
1091,53674799064
659,380498787854
398,545482470188
775,65887248842
1044,79942638567
173,288027528208
584,690435883589
522,077123570256

如你所见;两个值都超过999!

这个工作正常:从 generate_series(1,10) 中选择 random() * 9 + 1

我的系统是:PostgreSQL 9.3.5 on x86_64-unknown-linux-gnu,由 gcc (Ubuntu 4.8.2-19ubuntu1) 4.8.2, 64-bit 编译

这是一个错误吗?

最佳答案

不,这不是错误。表达式 random() * 999 为您提供从 0999 的数字。

将其加一将得到一个从 11000 的数字。添加 111 将为您提供 1111110 的数字。因此,除了会看到一些超过 1000 的值外,您也不会看到任何低于 111 的值。

你的错误似乎是假设,当你使用 999 而不是 9 时,你必须添加 111 而不是 1。事实并非如此。要获取 11000 的数字,您需要:

random() * 999 + 1

关于postgresql 随机()错误?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27684047/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com