📅  最后修改于: 2023-12-03 15:26:53.995000             🧑  作者: Mango
在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()函数,你可以轻松地生成随机数,以便在查询结果中为每行添加唯一的随机数。还可以使用计算确保生成不同的随机数,以便在查询结果中确保唯一性。