SQL中隨機數和隨機記錄的選取

來源:互聯網
上載者:User

因為最近幫一個朋友做畢業設計,大概是一個簡單的線上答題系統,要求SL做前端。因為僅僅是畢業設計,所以不設計到複雜的安全性和高並發效率問題,所以每次取資料都直接操縱SQL預存程序進行取隨機記錄。下面簡單總結SQL中取隨機數的幾個方法:

1、使用RAND(),RAND()會產生一個隨機小數,在TSQL中執行PRINT RAND(); ,結果為0.697555。如果需要整數的話,可以用擴大和取整的方法,如獲得0-99的隨機整數,方法為:PRINT CAST(RAND()*100 AS INT); 這樣可以得到0-99的整數。同時,可以使用FLOAT和CEILING進行範圍限定,對於二者的使用,需要記住:CEILING(N)>N>FLOAT(N).如果要獲得500-1000的隨機數,可以先獲得0-500的隨機數,然後加上500就可以了。

2、取指定關係中的前N個,可以使用:SELECT TOP N * FROM T_Test ORDER BY NEWID(); 這可以獲得表中任意N條記錄。

3、利用時間量求隨機數,這個不能說是完全的隨機,因為與時間有關係。可以將時間的小時,分,秒進行一些數學操作,並最終轉換為INT。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.