Resumo : neste tutorial, você aprenderá como usar a REPEAT()
função MySQL para repetir uma string um determinado número de vezes.
Introdução à função MySQL REPEAT()
No MySQL, a REPEAT()
função permite repetir uma string um determinado número de vezes.
Aqui está a sintaxe da REPEAT()
função:
REPEAT(string,count)
Linguagem de código: SQL (linguagem de consulta estruturada) ( sql )
Nesta sintaxe:
string
. A string que você deseja repetir.count
. O número de vezes que você deseja repetirstring
na sequência resultante.
A REPEAT()
função retorna a string que se repete count
vezes. Se count
for menor que 1, a função retornará uma string vazia.
Além disso, se str
ou count
for NULL
, a REPEAT()
função retornará NULL
.
A REPEAT()
função pode ser muito útil quando você deseja formatar os dados para exibição.
Exemplos de funções REPEAT() do MySQL
Vejamos alguns exemplos de uso da REPEAT()
função.
1) Exemplo de função REPEAT() simples
O exemplo a seguir usa a REPEAT()
função para repetir a letra “w” algumas vezes:
SELECT REPEAT('w',3);
Linguagem de código: SQL (linguagem de consulta estruturada) ( sql )
Saída:
+---------------+
| REPEAT('w',3) |
+---------------+
| www |
+---------------+
1 row in set (0.00 sec)
Linguagem de código: SQL (linguagem de consulta estruturada) ( sql )
Neste exemplo, a REPEAT()
função retorna uma string "www"
que repete a letra "w"
três vezes.
2) Usando a função REPEAT() para desenhar um gráfico de barras
Usaremos a products
tabela do banco de dados de exemplo para a demonstração:
O exemplo a seguir usa a REPEAT()
função para desenhar um gráfico de barras que exibe o estoque dos produtos:
SELECT
p.productName,
REPEAT('*',
CAST(p.quantityInStock * 100 / maxQty as SIGNED) / 10
) qtyInStock
FROM products p
JOIN (
SELECT MAX(quantityInStock) AS maxQty
FROM products
) AS stocks;
Linguagem de código: SQL (linguagem de consulta estruturada) ( sql )
Saída:
+---------------------------------------------+------------+
| productName | qtyInStock |
+---------------------------------------------+------------+
| 1969 Harley Davidson Ultimate Chopper | ******** |
| 1952 Alpine Renault 1300 | ******* |
| 1996 Moto Guzzi 1100i | ******* |
| 2003 Harley-Davidson Eagle Drag Bike | ****** |
| 1972 Alfa Romeo GTA | *** |
| 1962 LanciaA Delta 16V | ******* |
...
Linguagem de código: SQL (linguagem de consulta estruturada) ( sql )
Como funciona.
Primeiro, obtenha a quantidade máxima em estoque da tabela de produtos usando a MAX()
função:
SELECT
MAX(quantityInStock) AS maxQty
FROM
products;
Linguagem de código: SQL (linguagem de consulta estruturada) ( sql )
O resultado da consulta possui o alias da tabela stocks
.
Em segundo lugar, junte a products
tabela com a stocks
tabela, calcule a relação entre a quantidade em estoque e a quantidade máxima, lance o resultado como um número inteiro com sinal e divida o resultado por 10 para repetir os asteriscos (*):
REPEAT(
'*',
CAST(
p.quantityInStock * 100 / maxQty as SIGNED
) / 10
) qtyInStock
Linguagem de código: SQL (linguagem de consulta estruturada) ( sql )
Resumo
- Use a
REPEAT()
função para repetir uma string um determinado número de vezes.