Partilhar via


REPLICATE (expressão SSIS)

Retorna uma expressão de caractere que é replicada várias vezes. O argumento times deve ser avaliado como um inteiro.

ObservaçãoObservação

A função REPLICATE usa com frequência cadeias longas e, portanto, é mais provável de incorrer o limite de 4.000 caracteres no tamanho da expressão. Se o resultado da avaliação de uma expressão tiver o tipo de dados DT_WSTR ou DT_STR do Integration Services, a expressão truncará em 4.000 caracteres. Se o tipo de resultado de uma subexpressão for DT_STR ou DT_WSTR, essa subexpressão será truncada em 4.000 caracteres, independentemente do tipo de resultado da expressão geral. As consequências do truncamento podem ser controladas muito bem ou causam um aviso ou um erro. Para obter mais informações, consulte Sintaxe (SSIS).

Sintaxe

REPLICATE(character_expression,times)

Argumentos

  • character_expression
    É uma expressão de caractere a ser replicada.

  • times
    É uma expressão de inteiro que especifica o número de vezes que character_expression é replicado.

Tipos de resultado

DT_WSTR

Comentários

Se times for zero, a função retornará uma cadeia de comprimento zero.

Se times for um número negativo, a função retornará um erro.

O argumento times também pode usar variáveis e colunas.

REPLICATE só funciona com o tipo de dados DT_WSTR. Um argumento character_expression que é um literal de cadeia ou uma coluna de dados com o tipo de dados DT_STR é implicitamente convertido para o tipo de dados DT_WSTR antes de REPLICATE executar sua operação. Outros tipos de dados devem ser explicitamente convertidos no tipo de dados DT_WSTR. Para obter mais informações, consulte Tipos de dados do Integration Services e Cast (expressão SSIS): Converter tipos de dados SSIS.

REPLICATE retornará um resultado nulo se o argumento for nulo.

Exemplos

Esse exemplo replica um literal de cadeia três vezes. O resultado de retorno é "Mountain BikeMountain BikeMountain Bike".

REPLICATE("Mountain Bike", 3)

Esse exemplo replica os valores na coluna Nome pelo valor na variável Vezes. Se Vezes for 3 e Nome for Roda Dianteira de Passeio, o resultado de retorno será Roda Dianteira de PasseioRoda Dianteira de PasseioRoda Dianteira de Passeio.

REPLICATE(Name, @Times)

Esse exemplo replica o valor na variável Nome pelo valor na coluna Vezes. Vezes tem um tipo de dados não inteiro e a expressão inclui uma conversão explícita para um tipo de dados inteiro. Se Nome contiver Capacete e Vezes for 2, o resultado de retorno será "CapaceteCapacete".

REPLICATE(@Name, (DT_I4(Times))