일을 하다보니. 특정 항목이 varchar형이라, 숫자만이 아니라, 숫자(문자) 형식으로 들어오는 경우가 종종 있다.
예를 들어 아기 몸무게 항목 값에
g) 1200, 1400, 1500 이런식으로 대부분 입력이 되지만
업무하는 부서 특성상 1200(+30) 이런식으로 증가값을 더 입력해서
업무적으로 눈에 띄게끔 하는 부서들이 가끔 있다.
몸무게를 kg으로 변환해서 연동하는 경우에. 오류가 발생한다.
1200(+30)이 문자열이기에 발생한다.
이런 경우가 생길 때, 1200(+30) 에서 1200의 값만 잘라야 하는 경우가 생긴다.
이런경우에 instr, substr을 이용해서, 데이터를 잘라낼 수 있다.
select substr('1200(+30)', 0, instr('1200(+30)', '(') -1)
dual
;
instr함수를 이용해서 '(' 문자열의 위치를 찾아
substr함수로 처음부터 찾은 위치 이전까지의 문자를 잘라, 1200의 값만 가져온다.
'DB' 카테고리의 다른 글
text index, contains (0) | 2020.05.21 |
---|---|
오라클 merge (0) | 2020.05.21 |
두 날짜 시간의 차 구하기.. (0) | 2013.07.30 |
오라클 Outer 조인시 주의점. (0) | 2013.07.09 |