如何在SQL Server 2005中将随机数作为列返回? [英] How do I return random numbers as a column in SQL Server 2005?

查看:128
本文介绍了如何在SQL Server 2005中将随机数作为列返回?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在SQL Server 2005上运行SQL查询,除了要从数据库中查询2列之外,我还想返回1列随机数和它们.我试过了:

I'm running a SQL query on SQL Server 2005, and in addition to 2 columns being queried from the database, I'd also like to return 1 column of random numbers along with them. I tried this:

select column1, column2, floor(rand() * 10000) as column3 
from table1

哪种方法可行,但问题在于此查询在每行上返回相同的随机数.每次您运行查询时,它都是一个不同的数字,但每一行并没有变化.如何做到这一点,并为每行获取一个新的随机数?

Which kinda works, but the problem is that this query returns the same random number on every row. It's a different number each time you run the query, but it doesn't vary from row to row. How can I do this and get a new random number for each row?

推荐答案

我意识到这是一篇较旧的文章...但是您不需要查看.

I realize this is an older post... but you don't need a view.

select column1, column2, 
  ABS(CAST(CAST(NEWID() AS VARBINARY) AS int)) % 10000 as column3 
from table1

这篇关于如何在SQL Server 2005中将随机数作为列返回?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆