如何在 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
相关文章