ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • PostgreSQL - 개행문자 제거하기
    개발기록/DB 2018. 4. 1. 20:07

    원천에서 데이터를 HDFS에 적재할 때, 데이터의 형식은 가끔 상식적이지 않을 때가 있다.

    데이터에 엔터가 들어가 있을 줄 누가 아냐구여..?

    그러면 컬럼도 밀려서 적재가 된다..ㅜㅜ그럼 다시 재적재 고고..

    그래서 초반에 SELECT 할때, 개행문자를 제거하고 가져오는걸로 하자.

    DB가 PostgreSQL 기준으로 개행문자 제거를 알아보자.


    select regexp_replace(field, E'[\\n\\r]+', ' ', 'g' )

    간단하게 요런 형태이다.

    더 검색해보니, 역슬래쉬를 깔끔하게 하나만 사용하고자 한다면, E prefix를 제거하면 된다

    select regexp_replace(field, '[\n\r]+', ' ', 'g' )

    저 'g' flag는 뭔가 싶어서 보니

    음 영어가 짧아서..

    @Jens as with other regex-engines, 'g' here allows total replacement. Without it, replacements will only occur once per "line," 

    which in this case pretty much just means "only once," given that Postgres doesn't count \ns as linebreaks.

    이렇게 설명을 달고 있다.

    field의 데이터의 전체의 개행을 제거 하느냐, 아니면 한 라인만 제거하느냐의 차이인것 같은데..

    개발은 영어도 잘해야 한다.

    기승전 영어공부합시다.



    '개발기록 > DB' 카테고리의 다른 글

    PostgreSQL - 테이블 컬럼 스키마정보 알아보기  (0) 2018.03.30

    댓글

Designed by Tistory.