Ⅰ 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