REPLICATE (espressione SSIS)
Viene restituita un'espressione di caratteri ripetuta per il numero di volte specificato. L'argomento times deve restituire un valore integer.
[!NOTA]
La funzione REPLICATE utilizza spesso stringhe lunghe e pertanto è più facile che un'espressione superi il limite di 4000 caratteri di lunghezza. Se il risultato della valutazione di un'espressione ha il tipo di dati Integration Services DT_WSTR o DT_STR, l'espressione verrà troncata a 4000 caratteri. Se il tipo di risultato di una sottoespressione è DT_STR o DT_WSTR, probabilmente la sottoespressione verrà troncata a 4000 caratteri, indipendentemente dal tipo di risultato dell'espressione globale. Le conseguenze del troncamento possono essere gestite normalmente oppure generare un avviso o un errore. Per ulteriori informazioni, vedere Sintassi (SSIS).
Sintassi
REPLICATE(character_expression,times)
Argomenti
character_expression
Espressione di caratteri da replicare.times
Espressione integer che specifica il numero di volte per cui replicare character_expression.
Tipi restituiti
DT_WSTR
Osservazioni
Se times ha valore 0, la funzione restituirà una stringa di lunghezza zero.
Se times è un numero negativo, la funzione restituirà un errore.
L'argomento times può utilizzare anche variabili e colonne.
È possibile utilizzare REPLICATE solo con il tipo di dati DT_WSTR. Se l'argomento character_expression è un valore letterale stringa o una colonna di dati con tipo di dati DT_STR, prima di eseguire l'operazione prevista da REPLICATE verrà eseguito il cast implicito al tipo di dati DT_WSTR. Per gli altri tipi di dati è necessario il cast esplicito al tipo di dati DT_WSTR. Per ulteriori informazioni, vedere Tipi di dati di Integration Services e Cast (espressione SSIS).
Se l'argomento è Null, REPLICATE restituirà Null.
Esempi di espressione
In questo esempio un valore letterale stringa viene replicato tre volte. Il risultato restituito è "Mountain BikeMountain BikeMountain Bike".
REPLICATE("Mountain Bike", 3)
In questo esempio i valori nella colonna Name vengono replicati per il numero di volte indicato dal valore della variabile Times. Se Times ha valore 3 e Name contiene Touring Front Wheel, il risultato restituito sarà Touring Front WheelTouring Front WheelTouring Front Wheel.
REPLICATE(Name, @Times)
In questo esempio i valori nella variabile Name vengono replicati per il numero di volte indicato dal valore nella colonna Times. Tale variabile ha un tipo di dati diverso da integer e l'espressione include un cast esplicito a un tipo di dati integer. Se Name contiene il testo Helmet e Times ha valore 2, il risultato restituito sarà "HelmetHelmet".
REPLICATE(@Name, (DT_I4(Times))