SQL 生成随机数

作者:outlela  来源:本站原创   发布时间:2021-1-18 18:59:16

最近有一项要求:

在SqlServer 数据库中生成随机订单号,且不能以0开头;

记录一下,以备后用。


如下图:生成了随机的12位长度的订单号

image.png

代码如下:

DECLARE @str VARCHAR(100), --变量
        @BillCode VARCHAR(50) ='0', --要生成的随机单号,默认为0,用以配合以下WHILE方法
        @LEN INT=12; --单号长度;

WHILE(CHARINDEX('0', @BillCode)=1)--判断是否是0开头,此案例中要求不以0开始
    BEGIN
        SET @str=CONVERT(VARCHAR(30), CONVERT(DECIMAL(20, 20), RAND(CHECKSUM(NEWID()))));
        SET @BillCode=SUBSTRING(@str, 3, @LEN);
    END;
SELECT @str, @BillCode;


大家可以根据自己的需求,灵活改动以运用到自己的项目中。

*本文最后修改于:2021-1-18 21:15:58
本文标签: SqlServer 随机数 CHECKSUM NEWID RAND 订单号
本文由本站原创发布, 本文链接地址:https://outlela.com/Code/104.html
转载或引用请保留地址并注明出处:outlela.com