오라클에서 공백 제거를 위해 사용할 수 있는 함수는 TRIM()과 REPLACE()가 있다. TRIM(), RTRIM(), LTRIM()
WITH TESTDB AS( SELECT '20123153' HAKBUN, '김 우근' ENAME FROM DUAL UNION ALL SELECT '20132477' HAKBUN, '박 상후' ENAME FROM DUAL UNION ALL SELECT '20146348' HAKBUN, '배 철수' ENAME FROM DUAL
) SELECT HAKBUN, ENAME FROM TESTDB TESTDB 각 컬럼에는 그림과 같이 공백이 있는 데이터들이 있다. TRIM 함수를 써서 공백이 제거되는지 확인해보자. 먼저 TRIM 함수
☞ 양쪽 공백이 제거 된다. 다음은 LTRIM 함수
☞ 왼쪽 공백이 있는 배철수만 공백이 제거되었다. 다음은 RTRIM 함수
☞ 그림으로는 확인이 힘든(..) 박상후만 공백이 제거되었다.
REPLACE() 함수는 문자열을 치환할 때도 사용이 되지만 공백을 제거하는 경우도 사용이 가능하다. 아래처럼!
+ 피드백은 언제나 환영입니다 :) Oracle에서 TRIM() 으로는 탭 문자가 제거되지 않았다. 찾아본 가장 간단하면서 좋은 방법은 다음과 같았다. REGEXP_REPLACE(text,'(^[[:space:]]*|[[:space:]]*$)')
[출처] https://stackoverflow.com/questions/2268860/trim-whitespaces-new-line-and-tab-space-in-a-string-in-oracle/2274942 TRIM, LTRIM, RTRIM FunctionTRIM 함수는 문자열의 시작 또는 끝에서 문자를 제거합니다.공백 문자를 제거하는 데 자주 사용됩니다. LTRIM 함수는 문자열의 왼쪽에서 지정된 문자를 제거합니다. RTRIM 함수는 문자열의 오른쪽에서 지정된 문자를 제거합니다. 이 3개의 함수는 문자열의 공백을 제거하려는 경우 가장 자주 사용되지만, 문자를 제거하는 데에도 사용됩니다. TRIM Function
문자열의 시작 또는 끝에서 지정된 문자를 제거된 문자열을 반환합니다. 매개변수LEADING - LEADING을 설정하면 trim_source의 시작 부분에서 trim_character를 제거합니다. - 생략 가능합니다. TRAILING - TRAILING을 설정하면 trim_source의 끝 부분에서trim_character를 제거합니다. - 생략 가능합니다. BOTH - BOTH를 지정하면이 함수는 trim_source의 시작과 끝에서 trim_character를 제거 합니다. - 생략 가능합니다. trim_character - trim_source 문자열 에서 제거할 문자입니다. - 생략하면 공백 문자를 제거합니다. - 리터럴 값이면 작은따옴표로 묶어야 합니다. - 단일 문자만 가능합니다. trim_source - 문자가 제거되는 문자열 값입니다. 특징
Example Data
LTRIM Function
문자열의 왼쪽에서 지정된 문자를 제거합니다. 매개변수input_string - 왼쪽에서 문자가 제거되는 문자열 값입니다. trim_string - input_string 문자열에서 제거할 문자입니다. - 생략하면 공백 문자를 제거합니다. - 생략 가능합니다. - 문자열도 가능합니다. Example Data
RTRIM Function
문자열의 오른쪽에서 지정된 문자를 제거합니다. 매개변수input_string - 오른쪽에서 문자가 제거되는 문자열 값입니다. trim_string - input_string 문자열 에서 제거할 문자입니다. - 생략하면 공백 문자를 제거합니다. - 생략 가능합니다. - 문자열도 가능합니다. Example Data |