Generazione di stringhe di grandi dimensioni per i dati di test


12

Di recente stavo cercando di creare alcune stringhe di grandi dimensioni contenenti dati di test generici per una domanda qui . Sembra che sapessi un modo per moltiplicare una stringa. Tuttavia, non riesco più a ricordare la sintassi.

Sto cercando qualcosa come:

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

Per venire con "Aaaaaaaaaaaaaaaha!" (Beh, molto più a lungo, ovviamente.)

È possibile in T-SQL? (O sto pensando a qualche altra lingua?) Inoltre, ci sono altre tecniche per generare stringhe di grandi dimensioni?

Risposte:


19

Puoi usare REPLICATE:

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

3
Nota che dovrai fornire un carattere di input (MAX) per generare stringhe più grandi di 8060 caratteri: SELEZIONA REPLICATE (CAST ('a' AS varchar (MAX)), 15000). Assicurati di lanciarlo su nvarchar (MAX) se necessario.
Mark S. Rasmussen,

1
Grazie Marco. Ci sono anche altri potenziali problemi REPLICATE, a seconda di come la utilizzerà Richard (ad esempio, può comportarsi in modo diverso quando utilizza la lunghezza di varchar vs. char), motivo per cui ho collegato a caldo la REPLICATEparola chiave per puntare alla documentazione, invece di provare a rigurgita tutti i potenziali gotchas dalla documentazione qui.
Aaron Bertrand
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.