Oracle
产生一个介于指定范围之内的38位精度的随机数
SQL>SELECT DBMS_RANDOM.VALUE(1, 9999) FROM dual
DBMS_RANDOM.VALUE(1,9999)
-------------------------
4261.38448
你把参数修改为 1, 999999 然后结果再取整
SQL Server
1>SELECT RAND()
2>go
------------------------
0.52387284052730643
你需要修改为
SELECT RAND() * 999999, 然后嘛, 还是要取整的
DB2, Mysql 的 函数名字, 也是 RAND()
在mysql中随机生成一些范围内的整数,可以借助mysql提供的二个函数来实现。它们是floor()与rand()函数,下面分别介绍下。
1、floor(f)
返回一个不大于f的最大整数
2、rand(),rand(n)
返回一个随机浮点值 v ,范围在 0 到1 之间 (即, 其范围为 0 ≤ v ≤ 1.0)。若已指定一个整数参数 N ,则它被用作种子值,用来产生重复序列。
若要在i ≤ R ≤ j 这个范围得到一个随机整数R ,需要用到表达式 FLOOR(i + RAND() * (j – i + 1))。
例如, 在7到 12 的范围(包括7和12)内得到一个随机整数,使用语句:
SELECT FLOOR(7 + (RAND() * 6))
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)