Перейти к содержимому
Последнее обновление

REPEAT

Описание​

Функция REPEAT повторяет указанную строку заданное число раз, создавая новую строку. Эта функция обычно используется для генерации символов заполнения, создания разделителей или генерации тестовых данных.

Синтаксис​

REPEAT(<str>, <count>)

Параметры​

ПараметрОписание
<str>Исходная строка для повторения. Тип: VARCHAR
<count>Число повторений. Должно быть неотрицательным целым числом. Тип: INT

Возвращаемое значение​

Возвращает значение типа VARCHAR, содержащее строку, повторённую указанное число раз.

Правила повторения:

  • Если count больше 0, возвращается результат повторения строки str count раз
  • Если count равен 0, возвращается пустая строка
  • Если count меньше 0, возвращается пустая строка
  • Если результирующая строка слишком длинная, на неё могут распространяться ограничения длины строки

Особые случаи:

  • Если любой из параметров равен NULL, возвращается NULL
  • Если str является пустой строкой, возвращается пустая строка независимо от count
  • Если count равен 0, возвращается пустая строка
  • Если count отрицательный, возвращается пустая строка

Примеры​

  1. Простое повторение символа
SELECT REPEAT('a', 3);
+----------------+
| REPEAT('a', 3) |
+----------------+
| aaa |
+----------------+
  1. Повторение строки из нескольких символов
SELECT REPEAT('hello', 2);
+--------------------+
| REPEAT('hello', 2) |
+--------------------+
| hellohello |
+--------------------+
  1. Нулевое число повторений
SELECT REPEAT('test', 0);
+-------------------+
| REPEAT('test', 0) |
+-------------------+
| |
+-------------------+
  1. Отрицательное число повторений
SELECT REPEAT('a', -1);
+-----------------+
| REPEAT('a', -1) |
+-----------------+
| |
+-----------------+
  1. Обработка значений NULL
SELECT REPEAT(NULL, 3), REPEAT('a', NULL);
+------------------+-------------------+
| REPEAT(NULL, 3) | REPEAT('a', NULL) |
+------------------+-------------------+
| NULL | NULL |
+------------------+-------------------+
  1. Повторение пустой строки
SELECT REPEAT('', 5);
+----------------+
| REPEAT('', 5) |
+----------------+
| |
+----------------+
  1. Повторение специальных символов
SELECT REPEAT('-', 10), REPEAT('*', 5);
+------------------+-----------------+
| REPEAT('-', 10) | REPEAT('*', 5) |
+------------------+-----------------+
| ---------- | ***** |
+------------------+-----------------+
  1. Повторение символов UTF-8
SELECT REPEAT('ṭṛì', 3), REPEAT('ḍḍu', 2);
+-------------------+-------------------+
| REPEAT('ṭṛì', 3) | REPEAT('ḍḍu', 2) |
+-------------------+-------------------+
| ṭṛìṭṛìṭṛì | ḍḍuḍḍu |
+-------------------+-------------------+
  1. Сочетание цифр и символов
SELECT REPEAT('123', 3), REPEAT('@#', 4);
+-------------------+------------------+
| REPEAT('123', 3) | REPEAT('@#', 4) |
+-------------------+------------------+
| 123123123 | @#@#@#@# |
+-------------------+------------------+
  1. Повторение символов UTF-8
SELECT REPEAT('ṭṛìṭṛì', 3);
+--------------------------------------------------+
| REPEAT('ṭṛìṭṛì', 3) |
+--------------------------------------------------+
| ṭṛìṭṛìṭṛìṭṛìṭṛìṭṛì |
+--------------------------------------------------+