sqlite - 在 SQLite 中只生成正随机数

标签 sqlite random

在 SQLite 中

The random() function returns a pseudo-random integer between -9223372036854775808 and +9223372036854775807.

您可以使用 Select random() % n ;

获得最大值为 n 的随机数

但这仍然会产生负数。我怎样才能在 SQLite 中只生成正随机数?

最佳答案

使用 ABS() (绝对值)函数:

SELECT ABS(RANDOM() % N)

注意:

If X is the integer -9223372036854775808 then abs(X) throws an integer overflow error since there is no equivalent positive 64-bit two's complement value.

关于sqlite - 在 SQLite 中只生成正随机数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8304204/

相关文章:

r - 蒙特卡洛积分不起作用?

c++ - SQLite blob 数据类型

c++ - 生成开区间均匀随机数

android - 没有这个表android_metadata,有什么问题?

sql - 插入多行Qt Quick Local Storage?

C++ uniform_int_distribution 总是在第一次调用时返回 min()

sql - 使用随机值作为连接条件

在数组中创建实际的随机数据

sqlite - 在 group_concat 中使用 sum

ios - 查询语句未在 xcode 中执行 sqlite 数据库