Створення великих рядків для тестових даних


12

Нещодавно я намагався створити кілька великих рядків, що містять загальні дані тесту для запитання . Здається, я раніше знав спосіб множення рядка. Однак я не можу більше згадати синтаксис.

Я шукаю щось на зразок:

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

Придумати "Аааааааааааааа!" (Ну, набагато довше, звичайно.)

Чи можливо це в 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, залежно від того, як Річард буде використовувати це (наприклад, він може вести себе по-різному при використанні довжини варчара проти чару), саме тому я гаряче пов’язав REPLICATEключове слово, щоб вказати на документацію, а не намагатися відмовитись від усіх можливих сюжетів з документації тут.
Аарон Бертран
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.