【问题标题】:How to randomly generate an Integer in SQL如何在 SQL 中随机生成一个整数
【发布时间】:2017-01-08 21:31:28
【问题描述】:

正如问题所暗示的那样。

我需要在我的 SQL 查询结束时随机生成一个整数。它应该是我必须从现有变量创建的代码的一部分。

SELECT LEFT(Var1,2) & RIGHT(Var2,1) & RND
FROM MyTable;

我在这里使用的方法会在代码末尾生成一个小数,例如 0,2895625。我需要它来生成一个完整的整数。

再次感谢!

【问题讨论】:

  • 如果我的以下解决方案对您有帮助,请接受它作为回答伙伴。
  • 这很有帮助。不要误会我的意思。但不幸的是,这不是我想要的。
  • 您在寻找什么?你能举例说明一下吗?我也更新了我的答案。
  • 它必须使用那个 Rnd() 函数。但它不能使用像 TinyInt 这样的数据类型。我的规则说它必须只使用一个简单的随机生成器。 IE。 rnd() 函数
  • 我确实试过你的方法。但它只是乘以生成的小数。

标签: sql ms-access random


【解决方案1】:
DECLARE @maxval TINYINT, @minval TINYINT
select @maxval=24,@minval=5

SELECT CAST(((@maxval + 1) - @minval) *
    RAND(CHECKSUM(NEWID())) + @minval AS TINYINT)

使用这个。根据需要设置@maxval 和@minval。

或者试试这个。

SELECT CAST(RAND() * 1000000 AS INT)

或者你可以试试这个。

 Declare @Rnd INT;

   set @Rnd = CAST(RAND() * 1000000 AS INT)
    SELECT LEFT(Var1,2) & RIGHT(Var2,1) & @Rnd
    FROM MyTable;

Declare @Rnd INT;

     set @Rnd = ABS(CHECKSUM(NewId())) % 10000 
        SELECT LEFT(Var1,2) & RIGHT(Var2,1) & @Rnd
        FROM MyTable;

【讨论】:

    猜你喜欢
    • 2015-01-28
    • 1970-01-01
    • 2019-01-14
    • 2018-04-03
    • 2020-08-06
    • 2016-03-14
    • 2010-10-23
    相关资源
    最近更新 更多