最近有一项要求:
在SqlServer 数据库中生成随机订单号,且不能以0开头;
记录一下,以备后用。
如下图:生成了随机的12位长度的订单号
代码如下:
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;
大家可以根据自己的需求,灵活改动以运用到自己的项目中。