NEWID()生成随机唯一GUID编码

NEWID()生成随机唯一GUID编码

  • NEWID()在扫描每条记录的时候都生成一个值, 而生成的值是随机的, 没有大小写顺序. 所以最终结果再按这个排序, 排序的结果就是无序的。
  • 因为NEWID()返回的是uniqueidentifier类型的唯一值。NEWID()每次产生的值都不一样,那么根据这样的值进行排序,每次的结果也是不一样的。
  • 原理是 把所有的ID出取然后用随机函数取出其中一个,然后用这个随机取到的ID去数据库里再取出记录,所有代价有点大。

随机查询前100条。
select top 100 NEWID() guid,* from Ixl_payment order by guid

rand()生成数字唯一码

在查询分析器中执行:select rand(),可以看到结果会是类似于这样的随机小数:0.304773440044009,但小数在实际应用中用得不多,一般要取随机数都会取随机整数。下面的两种随机取整数的方法:

select floor(rand()*N) —生成的数是这样的:12.0
0至N-1之间,如cast( floor(rand()*100) as int)就会生成0至99之间任一整数

select ceiling(rand() * 100)
1至N之间,如cast(ceiling(rand() * 100) as int)就会生成1至100之间任一整数

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值