No MariaDB,
REPEAT()
é uma função de string interna que retorna uma string repetida um certo número de vezes. Você passa a string, bem como o número de vezes que deseja que ela seja repetida ao chamar a função.
Sintaxe
A sintaxe fica assim:
REPEAT(str,count)
Onde
str
é a string a ser repetida e count
é o número de vezes para repeti-lo. Exemplo
Segue um exemplo básico:
SELECT REPEAT('Pow!', 3);
Resultado:
+-------------------+ | REPEAT('Pow!', 3) | +-------------------+ | Pow!Pow!Pow! | +-------------------+
Concatenação com outras strings
Neste exemplo passamos
REPEAT()
como um argumento para o CONCAT()
função para que alguns pontos sejam prefixados e anexados à string:SELECT CONCAT(REPEAT('.', 12), 'Dog', REPEAT('.', 12));
Resultado:
+-------------------------------------------------+ | CONCAT(REPEAT('.', 12), 'Dog', REPEAT('.', 12)) | +-------------------------------------------------+ | ............Dog............ | +-------------------------------------------------+
Contagem baixa
Se a contagem for menor que
1
, o REPEAT()
função retorna uma string vazia:SELECT
REPEAT('Pow!', 0),
REPEAT('Pow!', -1);
Resultado:
+-------------------+--------------------+ | REPEAT('Pow!', 0) | REPEAT('Pow!', -1) | +-------------------+--------------------+ | | | +-------------------+--------------------+
String vazia
Aqui está o que acontece quando uma string vazia é passada:
SELECT REPEAT('', 100);
Resultado:
+-----------------+ | REPEAT('', 100) | +-----------------+ | | +-----------------+
Caráter Espacial
Uma string vazia não é o mesmo que o caractere de espaço.
Aqui está o que acontece quando alteramos a string vazia para um espaço:
SELECT REPEAT(' ', 100);
Resultado:
+------------------------------------------------------------------------------------------------------+ | REPEAT(' ', 100) | +------------------------------------------------------------------------------------------------------+ | | +------------------------------------------------------------------------------------------------------+
Argumento nulo
Fornecendo
null
resulta em null
:SELECT
REPEAT(null, 5),
REPEAT('Dog', null);
Resultado:
+-----------------+---------------------+ | REPEAT(null, 5) | REPEAT('Dog', null) | +-----------------+---------------------+ | NULL | NULL | +-----------------+---------------------+
Argumento ausente
Chamando
REPEAT()
com o número errado de argumentos ou sem passar nenhum argumento resulta em um erro: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