SQL Server中隨機函式的應用

2021-08-26 03:39:20 字數 791 閱讀 3597

select * from student order by newid()

select top n * from student order by newid() --這裡的n代表隨機顯示的記錄數

注:newid()返回的是uniqueidentifier型別的唯一值。newid()每次產生的值都不一樣,那麼根據這樣的值進行排序,每次的結果也是不一樣的

在sql server有個隨機函式rand() ,只不過它返回的值float型,如果你需要整數的話,需要處理一下:

1.使用函式floor() n=100

a:select floor(rand()*n) ---生成的數是這樣的:12.0

b:select cast( floor(rand()*n) as int) ---生成的數是這樣的:12

2.使用函式ceiling() n=100

a:select ceiling(rand() * n) ---生成的數是這樣的:12.0

b:select cast(ceiling(rand() * n) as int) ---生成的數是這樣的:12

注:ceiling()返回大於或等於所給數字表示式的最小整數。floor ()返回小於或等於所給數字表示式的最大整數。

例如,對於數字表示式 12.9273,ceiling 將返回 13,floor 將返回 12。floor 和 ceiling 返回的資料型別與輸入的表示式的資料型別相同。

SQL Server 中隨機函式應用舉例

最近工作中要隨機生成一些資料,基本上全是通過rand 函式來完成。下面以幾個例子做下簡單說明。1.生成年齡 思路 年齡一般為0 100歲,只要以當時日期為基準,用dateadd函式加上乙個0 100的隨機數即可。declare nl int,csrq date set nl cast rand 10...

C 中的隨機函式

一 random函式不是ansi c標準,不能在gcc,vc等編譯器下編譯通過。可改用c 下的rand函式來實現。1 c 標準函式庫提供一隨機數生成器rand,返回0 rand max之間均勻分布的偽隨機整數。rand max必須至少為32767。rand 函式不接受引數,預設以1為種子 即起始值 ...

C 中的隨機函式

一 random函式不是ansi c標準,不能在gcc,vc等編譯器下編譯通過。可改用c 下的rand函式來實現。1 c 標準函式庫提供一隨機數生成器rand,返回0 rand max之間均勻分布的偽隨機整數。rand max必須至少為32767。rand 函式不接受引數,預設以1為種子 即起始值 ...