如何生成每一行都不同的随机数

kenshu 2011-01-28 04:31:34
select cast(ceiling(rand() * 100) as int) , my_column
from my_table;

每一行取出来的值都一样,有没有办法使每条记录得出来都是不一样的随机数?

谢谢!
...全文
298 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
空怀 2011-01-28
  • 打赏
  • 举报
回复
select cast(100*rand(checksum(newid())) as int) ,t2 from b1
gw6328 2011-01-28
  • 打赏
  • 举报
回复
5楼 select ceiling(100*rand(checksum(newid()))) from tb
kenshu 2011-01-28
  • 打赏
  • 举报
回复
用了5楼的方法,谢谢!
kenshu 2011-01-28
  • 打赏
  • 举报
回复
我不一定需要每一行都不一样,但不能每一行永远一样。谢谢!
王向飞 2011-01-28
  • 打赏
  • 举报
回复
SELECT a, ABS(CHECKSUM(NEWID()))   FROM  @tb
kenshu 2011-01-28
  • 打赏
  • 举报
回复
回楼上.

我的问题是,每一行的随机数都一样.//当然,不同次SELECT会不同。但同一条SELECT每一行都一样。

谢谢!
yibey 2011-01-28
  • 打赏
  • 举报
回复
既要随机数,又要不一样的。那这样还叫随机么。这2者本身就是矛盾的。
如果楼主只是想取得每行不一样的ID 的话,可以自己写函数,或者直接使用NEWID()
kenshu 2011-01-28
  • 打赏
  • 举报
回复
我其实实际用这条SQL是 order by newid().//方便理解起见,没有加那些东西出来

但NEWID()不知道如何转换成 int.

谢谢!
AcHerat 元老 2011-01-28
  • 打赏
  • 举报
回复
newid() ??? 有没?

34,587

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧