当前位置: 首页 > 面试题库 >

如何在SQL Server中获取数字随机uniqueid

林子石
2023-03-14
问题内容

我正在使用SQL Server 2005,请告诉我如何为表中的每一行获取6位(唯一数字,应该是随机的)值。

我在表中有一个字段,我需要6位数字值(随机且唯一)。

请帮助我做到这一点。


问题答案:
SELECT ABS(CHECKSUM(NEWID())) % 999999

电话号码:

SELECT RIGHT('000000' + CAST(ABS(CHECKSUM(NEWID())) % 999999 AS varchar(6)), 6)

在SQL Server中,NEWID几乎是随机的。

但是,如果要唯一,则最好从000000开始,然后转到999999。任何随机数生成器都会遇到生日问题。

您可以拥有可靠的唯一身份或随机身份,但不能两者都可靠



 类似资料:
  • 问题内容: 或者我必须使用简单的方法,例如: 问题答案: 您所做的是干净,快速的。您可以改进的是预分配切片,并使用如下循环填充它: 该封装还具有填充用随机字节切片功能。因此,如果您想用随机数据填充一个切片,这就是所有必要的工作: 另一个有趣的方法是利用成为一个。这意味着它具有一种用随机数据填充的方法。 结合软件包,您可以用随机数据“填充”变量。创建a 并将其作为源传递给函数,仅此而已。 它是这样的

  • 问题内容: 我有一个数组叫做 我需要从该数组中获取一个随机值并将其存储在变量中,我该怎么做? 问题答案: 您还可以执行以下操作: 当您有关联数组时,这就是这样做的方法。

  • 标准< code>rand()函数给出的数字对我来说不够大:我需要< code>unsigned long long的数字。我们如何得到非常大的随机数?我试着修改一个简单的散列函数,但是它太大,运行时间太长,而且从来不会产生小于1e5的数字!!

  • 问题内容: 我试图为我在1到60之间选择的每一行生成一个随机整数作为计时器。 我已经搜索并继续使用此FLOOR函数作为如何在范围内选择随机整数。这给我每一行1。我想念什么? 我在mysql 5.0.75上 我相信这是查询的其余部分,这可能是一个嵌套问题 问题答案: 这对我有用。您的mysql版本可能是?

  • 问题内容: 对于我的应用程序而言,至关重要的是能够从Firebase的集合中随机选择多个文档。 由于Firebase(我知道)没有内置本机函数来实现执行此操作的查询,因此我的第一个想法是使用查询游标选择随机的起始索引和终止索引,前提是我拥有​​其中的文档数集合。 这种方法行之有效,但只能以有限的方式进行,因为每次每次文档都会与其相邻文档一起依次送达。但是,如果我能够通过其父集合中的索引选择一个文档

  • 问题内容: 可以说我有一个单词列表,我想创建一个将新列表的大小作为参数并返回新列表的方法。我如何从原始sourceList中获得随机单词? 那么,如何以及在哪里可以使用我的随机数? 问题答案: 我找到了适当的解决方案。Random提供了一些返回流的方法。例如ints(size)会创建一个随机整数流。