rand() 定義: 返回從0到1之間的隨機浮點值。
舉例說明:
select rand() as 隨機數 結果如圖:
select cast( floor(rand()*N) as int ) --方法1
結果:20
select cast( ceiling(rand()*N) as int ) --方法2
結果:43
大致一看,這兩種方法沒什么區別,區別就是他們的生成隨機數的范圍:
方法1的數字范圍:0至N-1之間,如cast( floor(rand()*100) as int)就會生成0至99之間任一整數
方法2的數字范圍:1至N之間,如cast(ceiling(rand() * 100) as int)就會生成1至100之間任一整數
比較 CEILING 和 FLOOR
CEILING 函數返回大於或等於所給數字表達式的最小整數。FLOOR 函數返回小於或等於所給數字表達式的最大整數。
例如,對於數字表達式 12.9273,CEILING 將返回 13,FLOOR 將返回 12。