如何在 SQL Server 2005 中将随机数作为列返回?

2021-12-21 00:00:00 random sql sql-server-2005 sql-server

我在 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

相关文章