ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • postgreSQL - 필드에서 공백 제거하기
    프로그래밍/DB 2018. 3. 18. 14:52
    반응형


    postgreSQL 의 필드에서 공백 제거하기 





    보통 trim()을 사용해서 제거하지만 

    trim 함수는 모든 공백을 다 제거하는 것이 아니라 

    ascii 코드가 32인 공백만 제거한다. 



    참고로 공백 부분의 ascii 코드 확인 쿼리는 아래와 같다. 



    select ascii(left(name, 1))

    from tablename

    where id = 723;



    검사해보니 9(탭문자)가 나왔다. 


    필드에서 탭 등의 모든 공백을 다 제거하기 위해서는 

    정규식 표현을 사용해야 한다. 




    update tablename set name = REGEXP_REPLACE(name, '^\s+', '');




     정규식 ^\s+에서 ^은 문장의 시작을, \s는 공백을, +은 1번 이상을 의미한다. 



    기존의 필드와 새로 업데이트한 필드를 비교해보니

    이름 앞의 공백이 제대로 제거된 것을 확인되었다. 




    # select name, name_api from 테이블이름 where name != name_api;



                     name                   |                     name_api

    ------------------------------------------+--------------------------------------------------

     (893-15)                                 |         (893-15)

     (주)HTC 까사빌                           |         (주)HTC 까사빌

     (주)HTC 까사빌                           |         (주)HTC 까사빌

     (주)HTC 까사빌                           |         (주)HTC 까사빌

     (주)HTC 까사빌                           |         (주)HTC 까사빌

     (주)HTC 까사빌                           |         (주)HTC 까사빌

     (주)HTC 까사빌                           |         (주)HTC 까사빌

     (주)HTC 까사빌                           |         (주)HTC 까사빌

     (주)HTC 까사빌                           |         (주)HTC 까사빌

     (주)HTC 까사빌                           |         (주)HTC 까사빌







    참고: http://www.postgresqltutorial.com/postgresql-trim-function/


    728x90
    반응형
Designed by Tistory.