MariaDB
 sql >> Base de données >  >> RDS >> MariaDB

Comment REPEAT() fonctionne dans MariaDB

Dans MariaDB, REPEAT() est une fonction de chaîne intégrée qui renvoie une chaîne répétée un certain nombre de fois.

Vous passez la chaîne, ainsi que le nombre de fois que vous voulez qu'elle soit répétée lorsque vous appelez la fonction.

Syntaxe

La syntaxe ressemble à ceci :

REPEAT(str,count)

str est la chaîne à répéter, et count est le nombre de fois qu'il faut le répéter.

Exemple

Voici un exemple de base :

SELECT REPEAT('Pow!', 3);

Résultat :

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

Concaténation avec d'autres chaînes

Dans cet exemple, nous passons REPEAT() comme argument du CONCAT() pour que certains points soient préfixés et ajoutés à la chaîne :

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

Résultat :

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

Compte faible

Si le nombre est inférieur à 1 , le REPEAT() la fonction renvoie une chaîne vide :

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

Résultat :

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

Chaîne vide

Voici ce qui se passe lorsqu'une chaîne vide est transmise :

SELECT REPEAT('', 100);

Résultat :

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

Caractère espace

Une chaîne vide n'est cependant pas la même chose que le caractère espace.

Voici ce qui se passe lorsque nous changeons la chaîne vide en espace :

SELECT REPEAT(' ', 100);

Résultat :

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

Argument nul

Fournir null donne null :

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

Résultat :

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

Argument manquant

Appel de REPEAT() avec le mauvais nombre d'arguments, ou sans passage d'arguments, une erreur se produit :

SELECT REPEAT();

Résultat :

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