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

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


咨詢
建站咨詢
