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

MySQL에서 LPAD()와 RPAD() 함수를 함께 사용해 문자열 양쪽에 패딩하는 방법

하나의 쿼리에서 LPAD()와 RPAD()를 동시에 사용하기

MySQL의 LPAD() 함수는 문자열의 왼쪽을, RPAD() 함수는 문자열의 오른쪽을 지정한 문자로 채우는 역할을 합니다. 그렇다면 하나의 쿼리에서 이 두 함수를 동시에 사용하여 원본 문자열의 왼쪽과 오른쪽 모두에 문자를 채우려면 어떻게 해야 할까요?

핵심은 한 함수를 다른 함수의 첫 번째 인수로 중첩해서 사용하는 것입니다. 즉, RPAD() 함수를 LPAD() 함수의 첫 번째 인수로 넣거나, 반대로 LPAD() 함수를 RPAD() 함수의 첫 번째 인수로 넣으면 됩니다. 아래 예제를 통해 쉽게 이해할 수 있습니다.

예제 1: LPAD()를 RPAD()의 인수로 사용

mysql> Select RPAD(LPAD(' My name is Ram ',23,'* '),30,'* ');
+------------------------------------------------+
| RPAD(LPAD(' My name is Ram ',23,'* '),30,'* ') |
+------------------------------------------------+
| * * * * My name is Ram * * * *                 |
+------------------------------------------------+
1 row in set (0.00 sec)

위 쿼리에서는 LPAD() 함수가 RPAD() 함수의 첫 번째 인수로 사용되었습니다. 먼저 LPAD()가 전체 길이를 23으로 맞추며 문자열 왼쪽에 '* '를 채우고, 이어서 RPAD()가 전체 길이를 30으로 맞추며 오른쪽에 '* '를 채웁니다.

예제 2: RPAD()를 LPAD()의 인수로 사용

mysql> Select LPAD(RPAD(' My name is Ram ',23,'* '),30,'* ');
+------------------------------------------------+
| LPAD(RPAD(' My name is Ram ',23,'* '),30,'* ') |
+------------------------------------------------+
| * * * * My name is Ram * * * *                 |
+------------------------------------------------+
1 row in set (0.00 sec)

위 쿼리에서는 반대로 RPAD() 함수가 LPAD() 함수의 첫 번째 인수로 사용되었습니다. 내부 함수가 먼저 실행된다는 점만 다를 뿐, 최종 결과는 앞선 예제와 동일하게 문자열의 양쪽에 '* '가 채워진 것을 확인할 수 있습니다.