Función escalar REPEAT

La función REPEAT devuelve una serie de caracteres compuesta del primer argumento repetido el número de veces especificado por el segundo argumento.

Leer el esquema de sintaxisOmitir el esquema de sintaxis visualREPEAT(expresión1, expresión2)

El esquema es SYSIBM. La versión SYSFUN de la función REPEAT continúa estando disponible.

expresión1
Expresión que especifica la serie que se va a repetir. La expresión debe devolver una serie de caracteres incluida, valor numérico, valor booleano o valor de fecha y hora. Si el valor no es una serie de caracteres, se convierte implícitamente a VARCHAR antes de evaluar la función.
expresión2
Expresión que es un valor entero positivo o cero que especifica el número de veces que se repite la serie. La expresión debe devolver una serie de caracteres incluida, serie gráfica o valor numérico. Si el valor no es un entero, se convierte en INTEGER antes de evaluar la función.

Resultado

El resultado de la función es uno de los siguientes tipos de datos:
  • VARBINARY si expresión1 es una serie BINARY o VARBINARY
  • VARCHAR si expresión1 es una serie CHAR o VARCHAR
  • VARGRAPHIC si expresión1 es una serie GRAPHIC o VARGRAPHIC
  • CLOB si expresión1 es CLOB
  • BLOB si expresión1 es BLOB
  • DBCLOB si expresión1 es DBCLOB
Si expresión2 es una constante, el atributo de longitud del resultado es el mínimo entre el atributo de longitud de expresión1 por expresión2 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:
  • 4000 para VARBINARY y VARCHAR
  • 2000 para VARGRAPHIC
  • 1 MB para CLOB, DBCLOB y BLOB

La longitud real del resultado es la longitud real de expresión1 por expresión2. Si la longitud real de la serie de resultado excede el atributo de longitud para el tipo de retorno, se devuelve un error (SQLSTATE 54006).

Si el tipo de datos de resultado es una serie de caracteres o una serie gráfica, las unidades de serie del resultado son las unidades de serie de expresión1.

Si cualquiera de los argumentos puede ser nulo, el resultado puede ser nulo; si alguno de los argumentos es nulo, el resultado es el valor NULL.

Ejemplos

  1. Repetir 'abc' dos veces para crear 'abcabc'.
       SELECT REPEAT('abc',2)
         FROM SYSIBM.SYSDUMMY1
  2. Listar la frase 'REPITA ESTO' cinco veces. Utilizar la función CHAR para limitar la salida a 60 bytes.
       SELECT CHAR(REPEAT('REPEAT THIS',5), 60)
         FROM SYSIBM.SYSDUMMY1
    Este ejemplo devuelve la salida de la serie siguiente:
       'REPEAT THISREPEAT THISREPEAT THISREPEAT THISREPEAT THIS     '
  3. Para la siguiente consulta, 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
  4. Para la siguiente consulta, la función LENGTH devuelve un valor de 0. 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('', 5))
         FROM SYSIBM.SYSDUMMY1