최종 수정: 에
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) |
+--------------------------------------------------+
| ṭṛìṭṛìṭṛìṭṛìṭṛìṭṛì |
+--------------------------------------------------+