REPEAT

REPEAT(str, count)

Zwraca ciąg znaków powtórzony count razy. Przy liczbie mniejszej niż 1 zwraca pusty ciąg znaków.

Parametry

  • str – powtarzany ciąg znaków.
  • count – ile razy. 0 lub liczba ujemna daje pusty ciąg znaków.

Przykłady

Przykłady z tabelami customers, products i orders korzystają z przykładowej bazy danych z serii Podstawy SQL.

SELECT REPEAT('★', 4) AS rating, REPEAT('-', 20) AS line, CONCAT('[', REPEAT('ab', 0), ']') AS zero;
+--------+----------------------+------+
| rating | line                 | zero |
+--------+----------------------+------+
| ★★★★   | -------------------- | []   |
+--------+----------------------+------+

Prosty wykres stanu magazynu (jeden znak = 5 sztuk):

SELECT name, stock, REPEAT('#', ROUND(stock / 5)) AS chart
FROM products
ORDER BY stock DESC;
+-------------------+-------+----------------------+
| name              | stock | chart                |
+-------------------+-------+----------------------+
| Cane sugar        |   100 | #################### |
| Green tea         |    40 | ########             |
| Coffee beans 1 kg |    25 | #####                |
| White mug         |    12 | ##                   |
| Coffee grinder    |     5 | #                    |
| Glass teapot      |     0 |                      |
+-------------------+-------+----------------------+

Na co uważać

  • Wynik dłuższy niż max_allowed_packet daje NULL. Przy dużych liczbach najpierw oblicz długość.
  • Liczba NULL daje NULL.

Zobacz też:
LPAD()
RPAD()
CONCAT()