좀 부탁드립니다.
1번 레코드 111은 1112 보다작다
2번 레코드 111은 111 와 같다
3번 레코드 111은 1113보다 작다 문제: 111을 222로 치환 하면
1번 레코드 111은 2222 보다작다
2번 레코드 222은 222 와 같다
3번 레코드 222은 2223보다 작다 이렇게 변경됩니다. 정확히 111인것만 변경되게 하는 방법좀 알려주세요. 1112는 변경되지 않도록 그럼 꼭좀 부탁드립니다. 감사합니다.
스크립트 언어에서 정규표현식을 이용한 처리를 한다면 가능하리라 생각됩니다.
MySQL에서 regex를 포함하고 있기는 하지만, 해당 매칭이 서브셋이 있느냐 없느냐만 알려주기 때문에, 말씀하신 것과 같은 정교한 처리는 불가능할 것 같습니다.
instr()과 length()를 조합하면 간단히 해결될 거 같습니다.
MySQL 문자열 함수인 instr과 length만으로는 저는 못하겠더군요... 방법이 있으시면 공유했으면 좋겠습니다 ^^
아래는 제가 preg_replace로 구현해본 예제와 결과입니다. 참고하세요.
* 실행 결과
* 스크립트 소스