【问题标题】:Replicate a T-SQL random function in Python在 Python 中复制 T-SQL 随机函数
【发布时间】:2016-06-02 08:37:53
【问题描述】:

我有一个 T-SQL 代码,我想在 Python 中运行一些模拟。有一个包含随机函数的代码,我不确定如何复制它。

当我在 SQL 中有 RAND() 时,我只在 Python 中使用它:

import random as random
print random.random()

但是,我也有这个代码:RAND(CHECKSUM(NEWID()))

我猜,它用于RAND 函数中的某种种子。但是,如何在 Python 中复制相同的内容以获得尽可能接近的结果?

【问题讨论】:

  • 如果您能在投票结束时发表评论,我将不胜感激。否则,同样的问题可能会在未来再次出现。

标签: python sql tsql random


【解决方案1】:

在Python中你需要先调用

random.seed() 在你的程序中(仅一次)

然后

random.random()

每次你想要一个随机数

给出一个从0到1的伪随机数


是的 RAND(CHECKSUM(NEWID())) 似乎是获取随机值用作种子的好技巧 - 可以说 NEWID 比使用时间作为种子具有更大的随机性。这取决于您的应用程序,在不添加其他熵的情况下,时间被认为不足以作为密码学的种子 - python randomize 使用时间作为种子

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-07-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多