MYSQL CHARINDEX함수 질문입니다.... 0 2 5,708

by 손님 [MySQL] CHARINDEX [2012.05.07 17:08:22]





SELECT INSTR('ABCD','BC')

이렇게 하면 당연히 2라는 숫자가 나옵니다~

근데 문제는

SELECT INSTR('ABCD','BC',-1)

이렇게 하면 오류가 나네요.....

뒤에서 부터 검색하되 가져오는 자릿수는

앞에서 부터의 전체 자릿수를 가져 오고 싶은데 토드에서 계속 오류가 납니다...

그래서 아래와 같이 CHARINDEX를 사용 해서 해봐도

SELECT
CHARINDEX('BC','ABCD',-1)

SELECT CHARINDEX('BC','ABCD') 이것도 오류 납니다.....

버젼 문제인지 정확히 알수는 없지만 'CHARINDEX' 전혀 사용 할수 없어 답답하네요....

MYSQL API에는 CHARINDEX는 아예 없고 INSTR도 변수를 2개만 선언 하는 것 만

나와 있네요......  다른 해결 방법 이 없을까요?

PS/ INSTR 함수는 변수를 2개 이상 넣으면 오류가 나네요....ㅠㅠ
by 마농 [2012.05.07 17:31:13]

MYSQL 은 안써봐서 메뉴얼을 살펴보니
시작위치를 지정해 줄 수 있는 함수 LOCATE() 와 POSITION() 이 있긴 한데,
마이너스에 대한 예제는 안나와 있네요. 한번 시도해 보세요.
안된다면 REVERSE 함수를 이용해 보세요.
SELECT LENGTH('ABCD') - INSTR(REVERSE('ABCD'), REVERSE('BC'))
http://dev.mysql.com/doc/refman/5.6/en/string-functions.html


by 손님 [2012.05.09 14:51:27]

마농님 항상 감사합니다^^
매번 도움만 받는것 같아 염치가 없네요.....ㅠㅠ
알려주신걸로 한번 시도 해 보겠습니다~! 감사합니다.

댓글등록
SQL문을 포맷에 맞게(깔끔하게) 등록하려면 code() 버튼을 클릭하여 작성 하시면 됩니다.
로그인 사용자만 댓글을 작성 할 수 있습니다. 로그인, 회원가입