需要帮助在 SQLite 中添加随机浮点数

SJo*_*nes 3 sqlite random

我正在尝试将随机浮点添加到 SQLite 中整个列的现有值

向现有的数字添加一个数字应该不难,而且UPDATE myTable SET Column1=Column1+1应该可行。如果我是正确的,它将获取第 1 列中的每个值并向其添加 1。

问题是获取随机数,我的目标是得到与此类似的东西

UPDATE mytable SET Column1=(Column1 + (RAND Between 0.5 AND 0.8));
Run Code Online (Sandbox Code Playgroud)

因此,每一行都添加了不同的随机浮点数,该浮点数是在添加到其中的 2 个浮点数之间生成的。

我的问题是,我在 SQLite 下找到的 random 的唯一参考是 random 函数生成一个整数。

Mum*_*tes 7

您可以从 SQLite 获取区间 (-1, 1] 内的随机浮点数,如下所示:

SELECT RANDOM() / CAST(-9223372036854775808 AS REAL)

因此,您可以通过以下方式获取 [0, 1) 标准随机数区间内的值:

SELECT 0.5 - RANDOM() / CAST(-9223372036854775808 AS REAL) / 2

...并从那里进行适当修改。