MySQL에서는 INSERT() 함수를 사용하여 문자열의 지정된 위치에 새로운 하위 문자열을 손쉽게 삽입할 수 있습니다. 이 함수는 원본 문자열의 일부를 삭제한 자리에 새 문자열을 끼워 넣는 방식으로 동작합니다.
문법
INSERT(original_string, @pos, @len, new_string)
각 매개변수의 의미는 다음과 같습니다.
- original_string : 새 문자열을 삽입할 대상이 되는 원본 문자열입니다.
- @pos : 새 문자열의 삽입(및 삭제)이 시작되는 위치입니다.
- @len : 원본 문자열에서 삭제할 문자 수입니다. 삭제는 @pos가 가리키는 위치부터 시작됩니다.
- new_string : 원본 문자열에 삽입할 새 문자열입니다.
예제
mysql> Select INSERT('MySQL Tutorial',7,8,'@Tutorialspoint');
+------------------------------------------------+
| INSERT('MySQL Tutorial',7,8,'@Tutorialspoint') |
+------------------------------------------------+
| MySQL @Tutorialspoint |
+------------------------------------------------+
1 row in set (0.00 sec)
위 예제에서는 새 문자열 '@Tutorialspoint'가 삽입되었습니다. 구체적으로 살펴보면 다음과 같습니다.
- 삽입은 원본 문자열 'MySQL Tutorial'의 7번째 문자부터 시작됩니다.
- 함수는 7번째 문자를 시작점으로 총 8개의 문자(즉, 'Tutorial' 부분)를 삭제합니다.
- 삭제된 자리에 '@Tutorialspoint'가 들어가므로 최종 결과는 'MySQL @Tutorialspoint'가 됩니다.
참고 사항
- @pos 값이 원본 문자열의 길이를 초과하면 아무 것도 변경되지 않고 원본 문자열이 그대로 반환됩니다.
- @len 값이 @pos 위치부터 문자열 끝까지의 길이보다 크면, 해당 위치부터 문자열 끝까지 모두 새 문자열로 대체됩니다.