我正在尝试生成一个唯一的 varchar ID,它应包含 4 位字母和 4 位数字。它们可以是随机的,但 ID 应该以字母开头,然后是数字。这是在 SQL Server 2008 R2 中。
例如:
ABCD1234 rtfd8798 tyry8745
有人可以帮忙吗?
最佳答案
如果您希望生成恰好 4 个随机字母字符,后跟四个随机数字,则以下内容将实现它。
它不漂亮也不灵活,但应该足以引导您走向正确的方向。
DECLARE @Data VARCHAR(8)
SET @Data = ''
-- Build first four characters
WHILE (LEN(@Data) < 4)
BEGIN
SET @Data = @Data + SUBSTRING('abcdefghijkmnopqrstuvwxyzABCDEFGHIJKLMNPQRSTUVWXYZ', CAST(RAND() * 52 AS INT), 1)
END
-- Build next for numbers
WHILE (LEN(@Data) < 8)
BEGIN
SET @Data = @Data + SUBSTRING('0123456789', CAST(RAND() * 10 AS INT), 1)
END
PRINT @Data
关于sql-server - 在 SQL Server 中生成带有 4 个字母和 4 个数字的 8 位 varchar,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30268609/