我需要使用數據庫中不存在的新隨機字段從數據庫中導出數據。 類似於:在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
謝謝大家!