* 질문 등록 시 다음의 내용을 꼭 기입하여 주세요.
|
Window7 32bit, Linux 64bit 등 |
|
[cubrid_rel] 수행 결과 |
|
[도움말]-[버전정보] 확인 |
|
java, php, odbc 등 입력 |
* CUBRID 응용 오류, SQL 오류 또는 SQL 튜닝 관련된 문의는 반드시 다음의 내용을 추가해 주세요. 비밀글이나 비밀 댓글도 가능합니다.
* 저희가 상황을 이해하고, 재현이 가능해야 알 수 있는 문제들이 많습니다. 가능한 정보/정황들을 부탁합니다.
에러 내용 및 재현 방법 | 재현 가능한 Source와 SQL |
관련 테이블(인덱스, 키정보 포함) 정보 | CUBRID 홈 디렉토리 아래 log 디렉토리 압축 |
-------------- 아래에 질문 사항을 기입해 주세요. ------------------------------------------------------------------------
오라클의 instr의 경우 문자열에서 찾고자 하는 문자의 몇번 반복되어진 값을 찾을수 있으나
큐브리드의 instr의 경우 문자열에서 찾고자 하는 문자를 몇번째 부터 찾아라 만 가능한것 같습니다.
오라클 처럼 몇번째 반복 되어진 값을 찾을수 있는 함수나 기능은 없나요 ?
oracle ex) select instr('test', 't', 1, 2 )
안녕하세요.
우선 오라클에서 instr(A, B, C, D) 함수는, A 문자열에서 B 문자를 C 위치부터 D번째 존자하는 B문자의 위치(인덱스)를 리턴해 주는 함수입니다. 말씀해 주신 SELECT 질의에 사용된 instr('test', 't', 1, 2)의 결과 값은 4로 출력됩니다.
큐브리드에서 instr인자는 3개이며, instr(A, B, C) 함수는 A 문자열에서 B 문자를 C 위치부터 찾는데, "첫번째로" 나오는 B 문자열의 위치(인덱스)값을 리턴해 줍니다. 만약, 위의 오라클처럼 사용하시기 위해서는 select instr('test', 't', (select instr('test', 't', 1) + 1)) 과 같이 instr 함수 안에 instr 함수를 한번 더 사용해 주셔야 합니다. 위와 같이 질의를 수행하시는 경우, 결과 값은 오라클과 동일하게 4로 출력됩니다.
자세한 사항은 매뉴얼의 문자열함수 - INSTR 부분을 참고해 주세요.
감사합니다.