如何在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个单词。