您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

SqlServer中获取随机值

bubuko 2022/1/25 19:02:43 sqlserver 字数 1911 阅读 932 来源 http://www.bubuko.com/infolist-5-1.html

使用rand()函数 select rand() 输出 0.0329578509224172 rand()函数获取区间(0,1)之间的float类型的数,但不支持在查询中添加一列随机值 select rand(),* from rent_device 输出结果为 生成的随机数一样 使用checksu ...

使用rand()函数

select rand()

输出

0.0329578509224172

rand()函数获取区间(0,1)之间的float类型的数,但不支持在查询中添加一列随机值

select rand(),* from rent_device

输出结果为

技术分享图片

生成的随机数一样

使用checksum()函数和newid()函数

select newid()

输出

CCC6DD8A-C6D9-406E-8753-88FAECE53106

得到一个类似于java中UUID的唯一值

select checksum(1),checksum(-1),checksum(‘abc‘),checksum(newid())

checksum()函数可以当做一个哈希函数

技术分享图片

select convert(bigint,right(abs(checksum(newid())),9)) * 1.0 / 1000000000

newid()得到一个唯一值,checksum()将字符串哈希成一个数字,abs()取绝对值,right()取右边的后9位,convert()将字符串转换成bigint类型,运算之后得到

0.541767396000

可以达到rand()类似的效果,且支持添加一列随机值

select convert(bigint,right(abs(checksum(newid())),9)) * 1.0 / 1000000000 随机数,* from rent_device

输出为

技术分享图片

参考

SQLServer随机数的获取

SqlServer中获取随机值

原文:https://www.cnblogs.com/strongmore/p/14915600.html


如果您也喜欢它,动动您的小指点个赞吧

除非注明,文章均由 laddyq.com 整理发布,欢迎转载。

转载请注明:
链接:http://laddyq.com
来源:laddyq.com
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。


联系我
置顶