如何在TSQL中生成随机字符串
如何生成随机字符串? 我写了下面这封信,结果只给了我一封如何在TSQL中生成随机字符串,tsql,Tsql,如何生成随机字符串? 我写了下面这封信,结果只给了我一封 declare @alphaCount int set @alphaCount = @alphaCount +1 CHAR(@alphaCount) 提前谢谢 用随机单词列表填充临时表。然后使用交叉连接将每个单词与其他单词组合在一起,以轻松获得大量数据 select l.word+' '+r.word from #Words as l cross join #Words as r 会有用的。您可能需要用它创建一个函数,但它有正确的想
declare @alphaCount int
set @alphaCount = @alphaCount +1
CHAR(@alphaCount)
提前谢谢 用随机单词列表填充临时表。然后使用交叉连接将每个单词与其他单词组合在一起,以轻松获得大量数据
select l.word+' '+r.word from #Words as l
cross join #Words as r
会有用的。您可能需要用它创建一个函数,但它有正确的想法。这应该可以解决如何创建函数的问题
DECLARE @length Integer
DECLARE @return VarChar(1000)
DECLARE @index Integer
DECLARE @value Integer
SET @length = 12
SET @return = '';
IF @length > 1000
SET @length = 1000;
IF @length <= 0
SELECT @return;
SET @index = 0;
WHILE @index < @length
BEGIN
SET @value = (64 * RAND()) + 32;
SET @return = @return + CHAR(@value);
SET @index = @index + 1;
END
SELECT @return;
声明@length整数
声明@return VarChar(1000)
声明@index整数
声明@value整数
设置@length=12
设置@return='';
如果@length>1000
设置@length=1000;
如果@length这将提供指定格式的10000行
DECLARE @Numbers TABLE
(
n INT PRIMARY KEY
);
WITH E00(N) AS (SELECT 1 UNION ALL SELECT 1), --2
E02(N) AS (SELECT 1 FROM E00 a, E00 b), --4
E04(N) AS (SELECT 1 FROM E02 a, E02 b), --16
E08(N) AS (SELECT 1 FROM E04 a, E04 b), --256
E16(N) AS (SELECT 1 FROM E08 a, E08 b) --65,536
INSERT INTO @Numbers
SELECT TOP 10000 ROW_NUMBER() OVER (ORDER BY (SELECT 0))
FROM E16
SELECT CAST((SELECT TOP 20 CHAR(CASE
WHEN Abs(Checksum(Newid()))%2 = 0 THEN 65
ELSE 97
END + Abs(Checksum(Newid()))%26)
FROM @Numbers n1
WHERE n1.n >= -n2.n /*So it gets re-evaluated for each row!*/
FOR XML PATH('')) AS CHAR(20))
FROM @Numbers n2
SQL是一种特定于领域的查询语言,而不是一种成熟的编程语言。在客户端生成随机字符串,而不是在数据库端。我想用数据填充数据库!!您需要什么类型的随机字符串?(长度和可接受字符)长度20,可接受字符A-Z A-Z我如何生成随机单词列表?@Shaza,编一些吧!交叉连接将生成输入数的平方。如果你给它输入20个单词,它将生成400个组合。如果你给它输入1000个单词,它将生成1000000个单词。