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

标签 sql sql-server sql-server-2005 random

我正在 SQL Server 2005 上运行 SQL 查询,除了从数据库查询 2 列之外,我还想返回 1 列随机数。我试过这个:

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

这有点有效,但问题是这个查询在每一行上返回相同的随机数。每次运行查询时该数字都是不同的,但行与行之间的数字并没有变化。我怎样才能做到这一点并为每一行获取一个新的随机数?

最佳答案

我意识到这是一篇较旧的帖子...但您不需要查看。

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

关于sql - 如何在 SQL Server 2005 中将随机数作为列返回?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/94906/

相关文章:

php - 使用 PHP 和 MySQL 标记页面

sql - 从PostgreSQL中的外部文件复制具有一对多关系的值

sql-server - SQL Server 2008 架构命名约定

SQL 提示在执行前将整个表加载到 RAM 中?

sql-server - 将 DataTable 传递到存储过程的最佳方法是什么?

sql-server - 如何找出 SQL Server 文件中哪些表有数据?

java - 我使用了cursor_loop : loop in sql stored procedure its not fetching all 15 rows it fetch one row only

SQL:仅大写第一个字母

sql-server-2005 - SQL Server 2005 计算列结果来自另一个表字段值的聚合

sql-server - 在 SQL Server 中查找锁定的表