Ⅰ rand在sql中的用法
在查詢分析器中執行:select rand(),可以看到結果會是類似於這樣的隨機小數:0.776282033621286,像這樣的小數在實際應用中用得不多。
一般要取隨機數都會取隨機整數。
那就看下面的兩種隨機取整數的方法:
1、 方法一
A:select floor(rand()*N) ---生成的數是這樣的:12.0
B:select cast( floor(rand()*N) as int) ---生成的數是這樣的:12
2、 方法二
A:select ceiling(rand() * N) ---生成的數是這樣的:12.0
B:select cast(ceiling(rand() * N) as int) ---生成的數是這樣的:12
Ⅱ sql rand()
rand(datepart(ms,getdate())*1000)
datepart(ms,getdate())表示取當前時間的毫秒數
datepart(ms,getdate())*1000表示乘以1000
rand()表示以上面的數字得出一個隨機數。
在單個查詢中反復調用 RAND() 將產生相同的值,所以rand([seed]),你每次要修改種子seed的才能得出不一樣的隨機數。
浮點數是指帶小數的,5.0也是浮點數,可其實沒有小數。
Ⅲ 在SQL中怎麼樣獲取隨機數
1、隨機小數 select rand(),
Ⅳ sql server中利用RAND()函數產生一個隨機卡號
IF EXISTS(SELECT * FROM sysobjects WHERE name='proc_CardID')
DROP PROCEDURE proc_CardID
GO
CREATE PROCEDURE proc_CardID
@randCardID varchar(19) OUTPUT, --輸出參數
@firstNo varchar(10)='1010 3576 ' --輸入參數,有默認值
AS
DECLARE @r numeric(15,8) --15位數,保留8位小數
DECLARE @tempStr char(10)
select @r=RAND((DATEPART(mm,GETDATE())*100000)+(DATEPART(ss,GETDATE())*1000)+DATEPART(ms,GETDATE()))
SET @tempStr=@r
SET @randCardID=@firstNo+SUBSTRING(@tempStr,3,4)+' '+SUBSTRING(@tempStr,7,4)
GO
--測試
DECLARE @mycardID char(19)
EXECUTE proc_CardID @mycardID OUTPUT
print '產生的隨機卡號為:'+@mycardID
我用的是存儲過程;關鍵代碼就是RAND((DATEPART(mm,GETDATE())*100000)+(DATEPART(ss,GETDATE())*1000)+DATEPART(ms,GETDATE()))
其他的代碼都是修飾
我們學SQL就做的這個,你也在學》》?呵呵
Ⅳ SQL語句中怎麼加入不是SQL內部函數的rand隨機函數
一個五位的隨機 數:你看合不合要求:
select round(rand()*100000,0)
Ⅵ sql如何生成一列每條記錄的值都不一樣的隨機數,用rand()竟然生成整列一樣的隨機數,大神指點一下謝謝
insertintoa(ID,姓名,性別)values(trunc(DBMS_RANDOM.value(1,100)),'小明','男');commit;----trunc(DBMS_RANDOM.value(1,100))隨機生成一個1~100以內的整數。
Ⅶ sql server里能解釋一下 rand round我知道定義,但是我不大理解,求大神指教
round() 遵循四捨五入把原值轉化為指定小數位數,如:round(1.45,0) = 1;round(1.55,0)=2
rand()取得是隨機數 默認范圍為(0~1) Rand()*100 范圍就是0~100(即0*100~1*100)
Ⅷ sql在函數內對帶副作用的運算符'rand'的使用無效。如果我想在自定義函數使用隨機數怎麼辦
--1.可以先建立一個視圖,然後函數中調用
CreateViewv
As
SelectRAND()AsA
CreateFunctionfn()
ReturnsNumeric(38,8)
As
Begin
Declare@RStNumeric(38,8)
Select@RSt=AFromv
Return@RSt
End
--2.mssql2008可以用這個函數
CreateFunctionfn()
ReturnsInt
As
Begin
ReturnCRYPT_GEN_RANDOM(4)
End