Генерация больших строк для тестовых данных


12

Недавно я пытался создать несколько больших строк, содержащих общие тестовые данные для вопроса здесь . Кажется, я знал способ умножения строки. Тем не менее, я больше не могу вспомнить синтаксис.

Я ищу что-то вроде:

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

Чтобы придумать "Aaaaaaaaaaaaaaaha!" (Ну, намного дольше, конечно.)

Возможно ли это в T-SQL? (Или я думаю о каком-то другом языке?) Кроме того, есть ли другие методы для генерации больших строк?

Ответы:


19

Вы можете использовать REPLICATE:

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

3
Обратите внимание, что вам потребуется предоставить (MAX) входной символ для генерации строк длиной более 8060 символов: SELECT REPLICATE (CAST ('a' AS varchar (MAX)), 15000). Обязательно приведите его к nvarchar (MAX) при необходимости.
Марк С. Расмуссен

1
Спасибо Марк. Есть и другие потенциальные проблемы REPLICATE, в зависимости от того, как Ричард будет использовать его (например, он может вести себя по-разному при использовании длины varchar и char), поэтому я сделал горячую ссылку на REPLICATEключевое слово, чтобы указать на документацию, вместо того, чтобы пытаться извергнуть все потенциальные ошибки из документации здесь.
Аарон Бертран
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.