任何人都可以建议在SQL Server 2008中生成4位数字随机数的逻辑
例如:
02G4: 4digit unique alphanumeric random no. to be generated
答案 0 :(得分:1)
DECLARE @chars NCHAR(36)
SET @chars = N'0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ'
DECLARE @result NCHAR(4)
SET @result = SUBSTRING(@chars, CAST((RAND() * LEN(@chars)) AS INT) + 1, 1)
+ SUBSTRING(@chars, CAST((RAND() * LEN(@chars)) AS INT) + 1, 1)
+ SUBSTRING(@chars, CAST((RAND() * LEN(@chars)) AS INT) + 1, 1)
+ SUBSTRING(@chars, CAST((RAND() * LEN(@chars)) AS INT) + 1, 1)
SELECT @result
显然,这只会生成4个随机字母数字字符。如果您需要确保唯一性,那么最好的方法是使用具有UNIQUE
约束的表格,并预先使用您的值预先填充它,或者随时添加它们。