너무 초보라서 질문 드리기 부끄럽지만 꼭 배우고 싶어서 문의 드립니다.
TRIM 함수를 사용해도 지워지지 않는 space 는 어떻게 처리하는지 궁금해서 질문드립니다.
제가 Source 테이블에서 다수의 User ID 를 읽어오는데요.
읽어와서 ID가 같은 것끼리 mapping 을 해주려고 하니 숫자로 된 ID 의 "뒤에" space 가 12개씩 붙어 있는 레코드가 있습니다.
1. TRIM(USER_ID) 했더니 95% 가량의 레코드는 space 가 지워졌습니다.
2. 그런데 여전히 12개의 space 가 숫자 뒤에 붙어 있는 레코드가 남아 있어서 space 의 개수를 세어보니 12개예요.
3. 12개의 space 를 없애서 저장하기 위해 Replace 함수를 썼는데요.
select USER_ID, REPLACE(TRIM(USER_ID),' ','') AS USER_ID
여기서 질문이 있습니다.
1. 만일 계속 남아 있어서 나중에 Replace 함수로 처리한 character 가 space 라면, 왜 Space 한칸에 대해 아래와 같이 Replace 함수를 실행하더라도 계속 12개의 space 가 남아 있는지 모르겠습니다.
select USER_ID, REPLACE(TRIM(USER_ID),' ','') AS USER_ID
2. 혹시나 하는 마음에 12개의 space 를 그대로 넣어서 이렇게 처리하니 모든 레코드가 정상적으로 space 없이 저장되었습니다.
select USER_ID, REPLACE(TRIM(USER_ID),' ','') AS USER_ID
3. 제가 생각하는대로 숫자 뒤에 붙은 것이 space 가 맞을까요?
만일 space 라면 제가 적용한 것처럼 12개의 space 를 넣어야만 처리가 될까요?
space 인지 아니면 tab 인지 어떻게 알 수 있을까요?
값을 복사해서 SQL Developer 의 worksheet 에 붙여 넣고 커서를 움직이면 한칸씩 이동합니다.