MySQL INSERT() 함수는 삽입 위치가 범위를 벗어나면 삽입을 수행하지 않습니다. 음수 또는 0(영) 값을 전달하거나 값이 원래 문자열의 총 문자 수 값을 2만큼 초과하는 경우 삽입 위치가 범위를 벗어날 수 있습니다. 도움말을 통해 이해할 수 있습니다. 다음 예의 -
예시
아래 쿼리는 삽입 위치가 범위(음수 값)를 벗어났기 때문에 삽입을 수행하지 않습니다.
mysql> Select INSERT('Virat', -1,5,'Kohli'); +-------------------------------+ | INSERT('Virat', -1,5,'Kohli') | +-------------------------------+ | Virat | +-------------------------------+ 1 row in set (0.00 sec)
아래 쿼리는 삽입 위치가 0(영) 범위를 벗어났기 때문에 삽입을 수행하지 않습니다.
mysql> Select INSERT('Virat', 0,5,'Kohli'); +------------------------------+ | INSERT('Virat', 0,5,'Kohli') | +------------------------------+ | Virat | +------------------------------+ 1 row in set (0.00 sec)
아래 쿼리는 삽입 위치가 범위를 벗어났기 때문에 삽입을 수행하지 않습니다. 즉, 원래 문자열의 문자 수 값을 2만큼 초과하기 때문입니다. 아래 예에서 원래 문자열 'Virat'에는 5개의 문자가 있고 우리가 제공하는 위치의 값은 7이므로 삽입이 발생하지 않습니다.
mysql> Select INSERT('Virat', 7,5,'Kohli'); +------------------------------+ | INSERT('Virat', 7,5,'Kohli') | +------------------------------+ | Virat | +------------------------------+ 1 row in set (0.00 sec)