如何在SQL Server中生成指定范围的随机整数?

2025-05-25 0 51

方法概述

SQL Server中生成指定范围的随机整数,主要可通过NEWIDRAND两种核心函数实现。前者基于GUID生成机制,后者依赖数学运算扩展随机范围。

如何在SQL Server中生成指定范围的随机整数?

使用NEWID生成随机整数

该方法利用GUID的唯一性和随机性特征:

  1. 通过CHECKSUM将GUID转为整型数值
  2. 使用取模运算符限定范围
  3. 示例生成0-99的随机数:
    代码示例
    SELECT ABS(CHECKSUM(NEWID)) % 100 AS RandomNumber

使用RAND生成随机整数

基于0-1的随机浮点数进行扩展:

批量生成随机整数

结合系统视图生成多行数据:

WITH RandomNumbers AS (
SELECT ROW_NUMBER OVER(ORDER BY (SELECT NULL)) AS ID,
ABS(CHECKSUM(NEWID))%100 AS Num
FROM master.dbo.spt_values
SELECT Num FROM RandomNumbers WHERE ID <= 10

两种方法各有优劣:NEWID适合单次生成高随机性数值,而RAND更便于进行数学范围控制。建议根据具体场景选择适当方法,批量生成时推荐结合系统视图提高效率。

收藏 (0) 打赏

感谢您的支持,我会继续努力的!

打开微信/支付宝扫一扫,即可进行扫码打赏哦,分享从这里开始,精彩与您同在
点赞 (0)

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。

快网idc优惠网 数据库RDS 如何在SQL Server中生成指定范围的随机整数? https://www.kuaiidc.com/3972.html

相关文章

发表评论
暂无评论