오늘은 열심히 홈페이지 오류를 수정 중,
이상하게도
db툴로 실행된 쿼리와
소스를 통해서 파라미터 값 받아서 실행된 쿼리의 값이 다르게 나왔다.
분명히 동일한 쿼리이고
소스 실행 후에 로그에 남은 쿼리를 긁어와서
db툴에 돌려보았는데도 결과가 달랐다... 어이 없,,
인터넷에 이리저리 찾아보니 아래와 같은 댓글을 발견....
(출처: https://okky.kr/article/509872)
즈루시님 감사해요 !!!!! 정답이었어요 !!!!!!!!!!!
어쨌거나 그래서 결국 한 조치
1. 테이블 내 해당 컬럼의 데이터 타입을 CHAR(8) 에서 VARCHAR2(6)으로 변경하려고 시도
(생년월일을 넣는 컬럼이었음: 6자만 들어감)
했지만
이미 데이터가 INSERT될 때 부터 CHAR로 데이터가 들어가서,
6자로 넣어도 총 8자로 맞추기위해 2자 공백을 포함하여 모든 데이터가 꽉꽉 채워져 있었음.
그래서 컬럼 데이터 타입이 변경이 안되는 상황,,,
1.1 우선 VARCHAR2(10)으로 넉넉하게 임시 변경
1.2 데이터들의 공백제거를 위해 UPDATE 해버림
UPDATE MEMBER SET BIRTH = REPLACE(BIRTH, ' ', '');
1.3 다시 컬럼 데이터 타입을 VARCHAR2(6)으로 변경
2. 다시 소스에서 파라미터로 값 넘겨서 결과 값 보니 같아짐...........
나이스!!
반응형
'개발 > DB' 카테고리의 다른 글
[ORACLE] MERGE INSERT UPDATE 문 (0) | 2019.10.02 |
---|---|
[ORACLE] 월별 사용자 COUNT 조회하기 (0) | 2019.08.16 |
[ORACLE] 오라클 ORA-02289: 시퀀스가 존재하지 않습니다. (8) | 2019.02.14 |
[ORACLE] NVL, DECODE (0) | 2019.01.01 |
[ORACLE] ORA-00979: GROUP BY 표현식이 아닙니다 (0) | 2018.12.02 |