📜  每行的 t-sql 随机数 - SQL (1)

📅  最后修改于: 2023-12-03 15:26:53.995000             🧑  作者: Mango

每行的 t-sql 随机数 - SQL

在SQL中生成随机数是一个常见需求。在某些情况下,你可能会需要在查询结果中为每一行随机生成一个数。在T-SQL中,你可以使用内置函数NEWID()来生成一个GUID并将其截取为字符串表示的十六进制数字,以获取每行的唯一随机数。

代码实现

下面是一个示例查询,它生成一个包含每行随机数的结果集:

SELECT NEWID() AS RandomNumber
FROM MyTable

此查询会返回一个称为RandomNumber的列,其中包含每行生成的唯一随机数,该随机数由NEWID()函数生成。

生成特定范围的随机数

如果你需要生成特定范围内的随机数,可以使用RAND()函数,并将其与一些计算结合使用。下面是一个示例查询,它将生成介于0和100之间的随机数:

SELECT CAST(RAND() * 100 AS INT) AS RandomNumber
FROM MyTable

这个查询会返回一个称为RandomNumber的列,其中包含介于0和100之间的整数随机数。

生成不同的随机数

如果你需要确保每行的随机数都不同,可以将NEWID()函数的结果转换为整数并使用它作为种子,然后将其传递给RAND()函数。下面是一个示例查询,它将生成介于0和100之间的所有不同的随机数:

SELECT CAST(RAND(CHECKSUM(NEWID())) * 100 AS INT) AS RandomNumber
FROM MyTable

此查询将返回具有介于0和100之间不同的整数随机数的RandomNumber列。

结论

使用T-SQL中的NEWID()和RAND()函数,你可以轻松地生成随机数,以便在查询结果中为每行添加唯一的随机数。还可以使用计算确保生成不同的随机数,以便在查询结果中确保唯一性。