참고사이트

trim

목적

맨 앞, 뒤 공백 또는 연속된 특정 문자 제거

기본(공백제거)

함수기능결과
trim(' abc ')양쪽 공백 제거'abc'
ltrim(' abc ')왼쪽 공백 제거'abc '
rtrim(' abc ')오른쪽 공백 제거' abc'

고급 (연속된 특정 문자 제거)

  • trim 옵션: trailing / leading / both
함수기능결과
trim('trailing '-' from '----abc----')패턴을 만족하는문자열의 부분을 제거'----abc'
trim('leading '-' from '----abc----')패턴을 만족하는문자열의 부분을 제거'abc----'
trim('both '-' from '----abc----')패턴을 만족하는문자열의 양쪽 부분을 제거'abc'

주의

패턴을 만족해도 문자열 중간의 값은 변하지 않음 즉, 양극단에 위치한 패턴만 제거됨

함수결과
trim(both '-' from '----a--b-cde----')'a--b-cde'
활용
  • 지번 주소에서 번지 앞 또는 뒷 부분만 가져올 떄 활용
    • 번지로 끝나는 경우에는 trim()
    • 번지 뒤에 주소가 있는 경우에는 regexp_split_to_array()
함수기능결과
trim('trailing '번지' from '서울특별시 관악구 신림동 611-171번지')번지 앞 부분 가져오기'서울특별시 관악구 신림동 611-171'
(regexp_split_to_array('서울특별시 동작구 신대방동 607-28번지 206호', '번지'))[1]번지 앞 부분 가져오기서울특별시 동작구 신대방동 607-28
sql_정규표현식

trim_scale

소수점 이하 0 제거

목적

  • 원래 정수값이었으나, 실수형 데이터 타입으로 인해 생긴 소수점 이하 0들을 제거하기 위함
함수기능결과
select trim_scale(234.0000)정수실수형 자료 중234