Computer >> 컴퓨터 >  >> 프로그램 작성 >> MySQL

함수 INSERT(str, Pos, len, newstr)에서 'Pos'가 문자열 길이 내에 있지 않으면 결과는 무엇입니까?


MySQL INSERT() 함수는 삽입 위치가 문자열 길이 내에 있지 않으면 삽입을 수행하지 않습니다. 음수 또는 0(영) 값을 전달하거나 'pos'가 문자열 길이 내에 있지 않다고 말할 수 있는 경우 값이 원래 문자열의 총 문자 수 값을 2만큼 초과하는 경우가 있습니다. . 다음 예의 도움으로 이해할 수 있습니다 -

예시

아래 쿼리는 'pos'가 문자열의 길이, 즉 음수 값 내에 있지 않기 때문에 삽입을 수행하지 않습니다.

mysql> Select INSERT('Tutorialspoint',-1,4,'.com');+-------------------------- ----------+| INSERT('튜토리얼 포인트',-1,4,'.com') |+-------------------------------- ------+| Tutorialspoint |+--------------------------------------+1 행 세트(0.00초) 

아래 쿼리는 'pos'가 문자열 길이, 즉 0(영) 내에 있지 않기 때문에 삽입을 수행하지 않습니다.

mysql> Select INSERT('Tutorialspoint',0,4,'.com');+------------------------------------------ ----------+| INSERT('튜토리얼 포인트',0,4,'.com') |+-------------------------------- -+| Tutorialspoint |+-------------------------------------+1행 세트(0.00초) 

아래 쿼리는 'pos'가 문자열 길이 내에 있지 않기 때문에 삽입을 수행하지 않습니다. 즉, 원래 문자열의 문자 수 값을 2만큼 초과합니다. 아래 예에서 원래 문자열 'Tutorialspoint'는 14를 갖습니다. 문자이고 우리가 제공하는 위치 값은 16이므로 삽입이 발생하지 않습니다.

mysql> Select INSERT('Tutorialspoint',16,4,'.com');+------------------------------------------ -----------+| INSERT('튜토리얼 포인트',16,4,'.com') |+-------------------------------- -----+| Tutorialspoint |+--------------------------------------+1 행 세트(0.00초)