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