REPEAT
La función REPEAT devuelve una serie compuesta de expresión repetida entero veces.
- 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,
o booleana
. Un argumento numérico
o booleano
se convierte en una serie de caracteres antes de evaluar la función. Para obtener más información sobre la conversión de
numérico y booleano
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.
Este ejemplo da como resultado 'REPEAT THISREPEAT THISREPEAT THISREPEAT THISREPEAT THISREPEAT THIS'.SELECT CHAR( REPEAT('REPEAT THIS', 5), 60) FROM SYSIBM.SYSDUMMY1 - 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
