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