SQL生成随机数

--生成随机编号的函数
CREATE FUNCTION [dbo].[f_RANDBH](@BHLen int)
RETURNS varchar(50)
AS
BEGIN
DECLARE @r varchar(50)
IF NOT(ISNULL(@BHLen,0) BETWEEN 1 AND 50)
SET @BHLen=10

lb_bh: --生成随机编号的处理
SELECT @r=re FROM v_RAND
WHILE LEN(@r)<@BHLen
SELECT @r=@r+re FROM v_RAND
SET @r=LEFT(@r,@BHLen)

--检查编号在基础数据表中是否存在
IF EXISTS(SELECT * FROM SYS_BPS_USERS WITH(XLOCK,PAGLOCK) WHERE USER_UNDEF5=@r)
GOTO lb_bh

RETURN(@r)
END

--使用方法:
--SELECT 'Qwer'+dbo.f_RANDBH(6)

原文地址:https://www.cnblogs.com/smilekiss/p/4195956.html