出现该问题的原因是在每行中使用了相同的随机种子值。为了解决问题,我们可以使用当前日期和时间作为随机种子。
以下是一个示例SQL查询,其目的是在现有表中执行日期和随机时间的连接,使用当前日期和时间作为随机种子,以避免上述问题的出现:
SELECT [OrderID], CAST([OrderDate] AS VARCHAR(10)) + ' ' + CAST(DATEADD(SS, RAND(CAST(GETDATE() AS VARBINARY)), [OrderDate]) AS VARCHAR(8)) AS [DateTime] FROM [AdventureWorks2019].[Sales].[SalesOrderHeader]
在上述示例中,我们使用了RAND函数来生成随机值,并将获取的当前日期和时间转换为VARBINARY类型,以确保每行具有不同的随机种子值。 此外,我们使用DATEADD函数将随机值添加到OrderDate列中的时间戳中。
运行此查询后,您将在每行中看到一个唯一的日期和时间值,其中随机时间已附加到OrderDate列中的日期和时间戳上。