我需要使用数据库中不存在的新随机字段从数据库中导出数据。 类似于:在MySQL中使用随机值生成字段
SELECT field1, field2, rand(1,5) as field3 FROM table
这是可能的吗?
我需要使用数据库中不存在的新随机字段从数据库中导出数据。 类似于:在MySQL中使用随机值生成字段
SELECT field1, field2, rand(1,5) as field3 FROM table
这是可能的吗?
是的,RAND()
返回一个介于0和1之间的值。使用数学使该数值在所需的范围内。
不是MySQL的答案,但可能是使用:SQL Server上的“RAND”函数要求必须行之间不同的种子。因此一个简单的方法可能是:
SELECT field1, field2, rand(id) as field3 FROM table
这取决于可用的ID,它也只是伪随机;每次输出相同的field3值。为了解决这个问题,简单地通过基于时间的值使用该技术在this post递增ID,例如:
SELECT field1, field2, rand(id + datediff(s, '19700101', getdate())) as field3 FROM table
这会给0和1之间的值,然后一点简单数学可以强制如果这是必需的,那么就是1到5之间。
可以在MYSQL使用: -
SELECT field1,field2,CAST((RAND() * 3) + 1 AS UNSIGNED) as Randomnumber from tablename
它会生成一个范围内的随机数。
我解决了这个办法:
CEIL(RAND()* 5)场3
谢谢大家!