none
“随机生成指定《整数区间内》的任意1个整数“的SQL语句 RRS feed

  • 问题

  • 尊敬的SQL Server技术专家:
          您好!
          请问“随机生成指定《整数区间内》的任意1个整数“的SQL语句是怎样的?

    例如:
    指定要生成 2 至 4 区间内的任意1个整数

    生成的整数,可以是以下任意1个整数
    2
    3
    4
    2019年8月28日 8:48

答案

全部回复

  • SELECT start+ABS(CHECKSUM(NEWID()))%(finish-start+1)
    FROM( SELECT start=2, finish=4 )D
    2019年8月29日 1:04
  • 你可以试试下面这些代码:

    create procedure awf_RandInt 
       @min int ,
       @max int, 
       @result int output
    as
    begin
        set @result= cast((rand()*(@max-@min)+@min) as int)
        return @result
    end

     declare @result int
     exec awf_RandInt 1,100,@result output
     print(@result)

    MSDN Community Support
    Please remember to click "Mark as Answer" the responses that resolved your issue, and to click "Unmark as Answer" if not. This can be beneficial to other community members reading this thread. If you have any compliments or complaints to MSDN Support, feel free to contact MSDNFSF@microsoft.com

    2019年8月29日 1:19
  • 谢谢您的指点

    成功啦

    2019年9月19日 2:04