by 배움 [SQL Query] oracle sql [2022.11.17 11:56:55]
두 개의 테이블에 각각 데이터를 생성했는데 양쪽 테이블 중에 2개의 칼럼이 데이터 타입이 다릅니다.
A 테이블은 컬럼 a 와 컬럼 b 가 integer 타입이고,
B 테이블의 컬럼 a 와 컬럼 b 가 Varchar2 타입입니다.
A 테이블의 데이터를 B 테이블에 넣을 때 2개의 컬럼은 1 은 Y, 0 은 N, 그리고 Null 이 들어오면 '-' 를 insert 했습니다.
양쪽 테이블의 데이터를 비교하면서 테이블 B에 대해 다음과 같이 데이터 타입의 차이를 감안해서 CASE ... WHEN 을 사용했는데요.
CASE WHEN B_INDICATOR = 'Y' THEN 1 WHEN B_INDICATOR = 'N' THEN 0 WHEN B_INDICATOR = '-' THEN NULL END AS B_INDICATOR
이 때 b_indicator 의 값이 '-' 인 경우 NULL 을 넣으라고 해도 A 와 똑같은 값이 아닌 것으로 나오네요.
이 경우 '-' 이면 어떤 값을 넣어주면 테이블 A 의 integer type 과 같은 값으로 판단하는지 궁금합니다. 초보인데 여기서 자꾸 헤매네요.
검색해도 알 수 없어서 질문 드립니다.
알려주시면 감사하겠습니다.