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)
Où 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