新聞中心
本篇文章重點為大家講解一下SQL Server中生成一定范圍隨機數具體方法,有需要的小伙伴可以參考一下。

10年積累的成都網站制作、成都做網站經驗,可以快速應對客戶對網站的新想法和需求。提供各種問題對應的解決方案。讓選擇我們的客戶得到更好、更有力的網絡服務。我雖然不認識你,你也不認識我。但先網站設計后付款的網站建設流程,更有青神免費網站建設讓你可以放心的選擇與我們合作。
方法一
select floor(rand()*N) ---生成的數是這樣的:12.0
select cast( floor(rand()*N) as int) ---生成的數是這樣的:12
方法二
select ceiling(rand() * N) ---生成的數是這樣的:12.0
select cast(ceiling(rand() * N) as int) ---生成的數是這樣的:12
其中里面的N是一個你指定的整數,如100。 大致一看,這兩種方法沒什么區(qū)別,真的沒區(qū)別?其實是有一點的,那就是他們的生成隨機數的范圍: 方法1的數字范圍:0至N-1之間,如cast( floor(rand()*100) as int)就會生成0至99之間任一整數 方法2的數字范圍:1至N之間,如cast(ceiling(rand() * 100) as int)就會生成1至100之間任一整數 對于這個區(qū)別,看SQL的聯機幫助就知了: ———————————————————————————— 比較 CEILING 和 FLOOR
CEILING 函數返回大于或等于所給數字表達式的最小整數。FLOOR 函數返回小于或等于所給數字表達式的最大整數。例如,對于數字表達式 12.9273,CEILING 將返回 13,FLOOR 將返回 12。FLOOR 和 CEILING 返回值的數據類型都與輸入的數字表達式的數據類型相同。 ———————————————————————————- 現在,各位就可以根據自己需要使用這兩種方法來取得隨機數了^_^
另外,還要提示一下各位,關于隨機取得表中任意N條記錄的方法,很簡單,就用newid():
select top N * from table_name order by newid() ----N是一個你指定的整數,表是取得記錄的條數
新聞名稱:SQLServer中生成一定范圍隨機數具體方法
標題路徑:http://m.5511xx.com/article/dpecsjg.html


咨詢
建站咨詢
