为测试数据生成大字符串


12

我最近试图在此处创建一些包含通用测试数据的大字符串。看来我以前知道一种乘字符串的方法。但是,我不再记得语法。

我正在寻找类似的东西:

SELECT 'A' + ('a' * 1000) + 'ha!'

提出“ Aaaaaaaaaaaaaaaaaha!” (当然,要长得多。)

在T-SQL中这可能吗?(或者我在想其他语言吗?)另外,还有其他生成大字符串的技术吗?

Answers:


19

您可以使用REPLICATE

SELECT 'A' + REPLICATE('a', 1000) + 'ha!';

3
请注意,您必须提供(MAX)输入字符以生成大于8060个字符的字符串:SELECT REPLICATE(CAST('a'AS varchar(MAX)),15000)。如有必要,请确保将其强制转换为nvarchar(MAX)。
马克·拉斯穆森

1
谢谢马克。REPLICATE根据Richard的使用方式,也存在其他潜在问题(例如,使用varchar和char的长度时,它的行为可能不同),这就是为什么我将REPLICATE关键字热链接到文档的原因,而不是尝试从这里的文档中反省所有潜在的陷阱。
阿龙贝特朗
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.