DB2020. 5. 21. 10:56

일을 하다보니. 특정 항목이 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
Posted by 달려라곰간지