Computer >> 컴퓨터 >  >> 프로그래밍 >> MySQL

MySQL REPEAT() 함수를 다른 함수와 조합하여 사용하는 방법

REPEAT() 함수는 지정한 문자열을 원하는 횟수만큼 반복해서 출력해 주는 MySQL 내장 함수입니다. 하지만 기본 상태로 사용하면 반복된 값들이 붙어 있어 결과를 한눈에 파악하기 어려울 수 있습니다. 이럴 때 REPEAT() 함수를 다른 함수와 함께 조합하면 출력 결과를 훨씬 더 읽기 쉽게 만들 수 있습니다.

CONCAT() 함수와 함께 사용하기

예를 들어, 반복되는 값 사이에 공백이나 특정 문자를 삽입하고 싶다면 CONCAT() 함수를 활용할 수 있습니다. 아래 예제에서는 과목명 앞뒤에 별표(*)와 공백을 붙여 각 값을 3번 반복 출력합니다.

mysql> Select REPEAT(CONCAT(' *',Subject,'* '),3)AS Subject_repetition from student;
+-----------------------------------------+
| Subject_repetition                      |
+-----------------------------------------+
| *Computers* *Computers* *Computers*     |
| *History* *History* *History*           |
| *Commerce* *Commerce* *Commerce*        |
| *Computers* *Computers* *Computers*     |
| *Math* *Math* *Math*                    |
+-----------------------------------------+
5 rows in set (0.00 sec)

결과에서 볼 수 있듯이, CONCAT() 함수 덕분에 각 반복 값 사이에 자연스럽게 구분이 생겨 가독성이 크게 향상되었습니다.

QUOTE() 함수까지 함께 활용하기

나아가 QUOTE() 함수와 CONCAT() 함수를 모두 REPEAT() 함수와 결합하면, 각 반복 값이 따옴표로 감싸져 더욱 명확하게 구분됩니다.

mysql> Select REPEAT(QUOTE(CONCAT(' *',Subject,'* ')),3)AS Subject_repetition from student;
+-----------------------------------------------+
| Subject_repetition                            |
+-----------------------------------------------+
| ' *Computers* '' *Computers* '' *Computers* ' |
| ' *History* '' *History* '' *History* '       |
| ' *Commerce* '' *Commerce* '' *Commerce* '    |
| ' *Computers* '' *Computers* '' *Computers* ' |
| ' *Math* '' *Math* '' *Math* '                |
+-----------------------------------------------+
5 rows in set (0.00 sec)

정리

이처럼 REPEAT() 함수는 단독으로 사용하기보다 CONCAT(), QUOTE() 같은 다른 문자열 함수와 조합할 때 그 진가가 드러납니다. 함수들을 적절히 중첩하여 사용하면 반복 문자열의 구분이 명확해지고, 쿼리 결과의 전반적인 가독성과 완성도를 크게 높일 수 있습니다.