sql >> Base de Datos >  >> RDS >> MariaDB

Cómo funciona REPEAT() en MariaDB

En MariaDB, REPEAT() es una función de cadena integrada que devuelve una cadena repetida un cierto número de veces.

Pasas la cadena, así como la cantidad de veces que quieres que se repita cuando llamas a la función.

Sintaxis

La sintaxis es así:

REPEAT(str,count)

Donde str es la cadena a repetir, y count es el número de veces que se repite.

Ejemplo

He aquí un ejemplo básico:

SELECT REPEAT('Pow!', 3);

Resultado:

+-------------------+
| REPEAT('Pow!', 3) |
+-------------------+
| Pow!Pow!Pow!      |
+-------------------+

Concatenación con otras cadenas

En este ejemplo pasamos REPEAT() como argumento para CONCAT() función para que algunos puntos se antepongan y se añadan a la cadena:

SELECT CONCAT(REPEAT('.', 12), 'Dog', REPEAT('.', 12));

Resultado:

+-------------------------------------------------+
| CONCAT(REPEAT('.', 12), 'Dog', REPEAT('.', 12)) |
+-------------------------------------------------+
| ............Dog............                     |
+-------------------------------------------------+

Recuento bajo

Si el recuento es inferior a 1 , el REPEAT() la función devuelve una cadena vacía:

SELECT 
    REPEAT('Pow!', 0),
    REPEAT('Pow!', -1);

Resultado:

+-------------------+--------------------+
| REPEAT('Pow!', 0) | REPEAT('Pow!', -1) |
+-------------------+--------------------+
|                   |                    |
+-------------------+--------------------+

Cadena vacía

Esto es lo que sucede cuando se pasa una cadena vacía:

SELECT REPEAT('', 100);

Resultado:

+-----------------+
| REPEAT('', 100) |
+-----------------+
|                 |
+-----------------+

Carácter espacial

Sin embargo, una cadena vacía no es lo mismo que el carácter de espacio.

Esto es lo que sucede cuando cambiamos la cadena vacía por un espacio:

SELECT REPEAT(' ', 100);

Resultado:

+------------------------------------------------------------------------------------------------------+
| REPEAT(' ', 100)                                                                                     |
+------------------------------------------------------------------------------------------------------+
|                                                                                                      |
+------------------------------------------------------------------------------------------------------+

Argumento nulo

Proporcionar null da como resultado null :

SELECT 
    REPEAT(null, 5),
    REPEAT('Dog', null);

Resultado:

+-----------------+---------------------+
| REPEAT(null, 5) | REPEAT('Dog', null) |
+-----------------+---------------------+
| NULL            | NULL                |
+-----------------+---------------------+

Argumento faltante

Llamando a REPEAT() con el número incorrecto de argumentos, o sin pasar ningún argumento da como resultado un error:

SELECT REPEAT();

Resultado:

ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near ')' at line 1