Função REPEAT() do MySQL

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 repetir stringna sequência resultante.

A REPEAT()função retorna a string que se repete countvezes. Se countfor menor que 1, a função retornará uma string vazia.

Além disso, se strou countfor 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 productstabela do banco de dados de exemplo para a demonstração:

Função MySQL REPEAT() - Tabela de exemplo

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 productstabela com a stockstabela, 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
) qtyInStockLinguagem 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.

Deixe um comentário

O seu endereço de email não será publicado. Campos obrigatórios marcados com *