我正在尝试将随机浮点数添加到 SQLite 中整个列的现有值
将数字添加到现有的应该不难,UPDATE myTable SET Column1=Column1+1
应该管用。如果我是正确的,它将获取 column1 中的每个值并将其加 1。
问题是得到随机数,我的目标是有类似的东西
UPDATE mytable SET Column1=(Column1 + (RAND Between 0.5 AND 0.8));
所以每一行都添加了一个不同的随机浮点数,该随机浮点数是在添加到它的 2 个浮点数之间生成的。
我的问题是我在 SQLite 下找到的唯一引用 random 是 random 函数生成一个整数。
最佳答案
The random() function returns a pseudo-random integer between -9223372036854775808 and +9223372036854775807.
因此,要获得介于 -1 和 1 之间的数字,您必须将返回值除以 9223372036854775808。
要获得介于 0 和 1 之间的数字,请除以 2×9223372036854775808,然后加上 ½。
要获得其他范围,请适当缩放并添加偏移量:
UPDATE MyTable
SET Column1 = Column1 + (random() / 18446744073709551616 + 0.5) * 0.3 + 0.5;
关于sqlite - 需要帮助在 SQLite 中添加随机 float ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23785143/