반응형
*오라클 equal 조회시 프로그램에서는 = 검색시 결과가 안나오고 toad 같은 sql 툴에서는 결과가 나오는
경우에는 컬럼 형식이 char인지 확인해봐야한다.
char는 varchar2와 달라서 컬럼크기가 13이고 데이터 크기가 10이면 나머지 3자리에 공백을 채운다.
그래서 쿼리문에 컬럼에 trim을 쓰던지 rpad를 사용해서 공백을 없어던지 조회할 값에 공백을 채워서 조회를 하면된다.
그런데 종종 where 절 컬럼에 trim을 쓰면 쿼리가 늦어지는 경우가 있습니다.
사용할 쿼리를 미리 테스트한 후에 빠른쪽으로 맞춰서 사용하세요.
예) where trim(컬럼명) = 'test'
이럴땐 rpad를 쓰면 된다. rpad('비교할값이나 컬럼명',컬럼자리수, 대처할값)
예) where 컬럼명 = rpad('1234567890' ,13, ' ')
반응형
'프로그램 > ORACLE' 카테고리의 다른 글
오라클 문자,기호,0 채우는 방법,LPAD,RPAD사용법 (0) | 2014.05.29 |
---|---|
커밋 후 복원하는 방법 FLASHBACK (0) | 2014.01.23 |
컬럼의 한글, 영문, 숫자에 대한 정렬 방법 (0) | 2014.01.20 |
ORA-01745: 호스트/바인드 변수명이 부적합합니다 (0) | 2014.01.16 |
ORA-01476: 제수가 0 입니다 (0) | 2014.01.15 |