REPEAT

La función REPEAT devuelve una serie compuesta de expresión repetida entero veces.

Leer diagrama de sintaxisOmitir diagrama de sintaxis visualREPEAT (expresión,entero)
expresión
Expresión que especifica la serie que se va a repetir. La serie debe ser una expresión numérica incorporada, de serie, Inicio del cambioo booleanaFin del cambio . Un argumento numérico Inicio del cambioo booleanoFin del cambio se convierte en una serie de caracteres antes de evaluar la función. Para obtener más información sobre la conversión de Inicio del cambionumérico y booleanoFin del cambio a una serie de caracteres, consulte VARCHAR.
entero
Expresión que devuelve un tipo de datos BIGINT, INTEGER o SMALLINT incorporado cuyo valor es un entero positivo o cero. El entero especifica el número de veces que se repite la serie.

El tipo de datos del resultado de la función depende del tipo de datos del primer argumento:

Tipo de datos de expresión Tipo de datos del resultado
CHAR o VARCHAR o cualquier tipo numérico CARÁCTER VARIABLE
CLOB CLOB
GRAPHIC o VARGRAPHIC VARGRAPHIC
DBCLOB DBCLOB
BINARY o VARBINARY VARBINARY
BLOB BLOB

Si entero es una constante, el atributo de longitud del resultado es el mínimo del atributo de longitud de expresión veces entero y la longitud máxima del tipo de datos de resultado. De lo contrario, el atributo de longitud depende del tipo de datos del resultado:

  • 1.048.576 para BLOB, CLOB o DBCLOB
  • 4000 para VARCHAR o VARBINARY
  • 2000 para VARGRAPHIC

La longitud real del resultado es la longitud real de expresión veces entero. Si la longitud real de la serie de resultado supera el máximo para el tipo de retorno, se devuelve un error.

Si el argumento puede ser nulo, el resultado puede ser nulo; si cualquier argumento es nulo, el resultado es el valor nulo.

El CCSID del resultado es el CCSID de la expresión.1

Ejemplos

  • Repita 'abc' dos veces para crear 'abcabc'.
      SELECT REPEAT('abc', 2)
        FROM SYSIBM.SYSDUMMY1
    
    
  • Liste la frase 'REPITA ESTO' cinco veces. Utilice la función CHAR para limitar la salida a 60 bytes.
      SELECT CHAR( REPEAT('REPEAT THIS', 5), 60)
        FROM SYSIBM.SYSDUMMY1
    
    Este ejemplo da como resultado 'REPEAT THISREPEAT THISREPEAT THISREPEAT THISREPEAT THISREPEAT THIS'.
  • Para la consulta siguiente, la función LENGTH devuelve un valor de 0 porque el resultado de repetir una serie cero veces es una serie vacía, que es una serie de longitud cero.
      SELECT LENGTH( REPEAT('REPEAT THIS', 0) )
        FROM SYSIBM.SYSDUMMY1
    
    
  • Para la consulta siguiente, la función LENGTH devuelve un valor de 0 porque el resultado de repetir una serie vacía cualquier número de veces es una serie vacía, que es una serie de longitud cero.
      SELECT LENGTH( REPEAT('', 5) )
        FROM SYSIBM.SYSDUMMY1
    
1 Si el valor de expresión son datos mixtos que no son una serie de datos mixtos formada correctamente, el resultado no será una serie de datos mixtos formada correctamente.