SQL 10の乱数(小文字+データ)

USE [TEST]
GO
/ ******オブジェクト:。UserDefinedFunction [DBO] [RANDTENNUMS]スクリプト日:2019年7月23日夜三時40分16秒****** /
SETは、ON ANSI_NULLS
GO
ON SET QUOTED_IDENTIFIER
GO
[DBO]関数を作成する[RANDTENNUMS]()。
VARCHAR(10)を返し
たように
始まる
のDECLARE @i int型
のDECLARE @flagのint
(20)のDECLARE @SerialNumberのNVARCHARを
@RANDS数値(38,38)を宣言
-初始化设定
SET @i = 1つの
SET @SerialNumber = ''

-ランダムコード10を生成
WHILE @i <11。
BEGIN
-ランダムに配置され、ランダムに文字(大文字)またはデジタルを選択する
。SELECT @RANDS = RAND_A FROM [DBO] [VW_RAND]
@RANDSフラグ=天井に設定する@を( * 3)

フラグで@ = 1 IF
BEGIN
-ランダム文字(大文字は大文字のOを除去)
SELECT = RAND_Aを@RANDS [DBO] [VW_RAND] FROM。
WHILE CHAR(65 +天井(@RANDS * 25))= 'O'
BEGIN
SELECTを@ランズFROM = RAND_A [DBO] [VW_RAND]
END
SELECT @のSerialNumber =のSerialNumberチャー+(65 +天井(@RANDS * 25))
END
他フラグに2 @ IF =
始まる
-ランダムな文字(小文字除去小文字O)を
= RAND_A @RANDS FROM SELECT [DBO]。[VW_RAND]
WHILEチャー(97 +天井(@RANDS * 25))= 'O'
BEGIN
SELECT @RANDS = RAND_A FROM [DBO]。[VW_RAND]
ENDは、
SELECT @ = @のSerialNumber +チャーのSerialNumber(97 +天井(@RANDS * 25))
終了
他始める
- 9に乱数の乱数1(整数)
(VARCHARとして天井(@RANDS * 9)(1))キャストWHILE = '0'
BEGIN
[DBO]。[VW_RAND]の中から選択@RANDS = RAND_Aを
END
[DBO]の中から選択@RANDSは= RAND_A。[VW_RAND]
選択@ SerialNumber = @のSerialNumber +キャスト(天井(@RANDS * 9)varchar型として(1))
終了

-次のサイクルのため
のSET @する@ I = I + 1。
END
RETURN @SerialNumber;
ENDを

おすすめ

転載: www.cnblogs.com/hEnius/p/11232471.html