2016-08-17 4 views
0

내가 인용 CSV 파일을 사용 가져 오기 도구를 구축하기 위해 노력하고 있습니다 그러나, CSV 파일의 필드의 몇몇이 같은보고 :는 PostgreSQL은 선행 및 후행 문자를 트리밍 ".

"= 및 = ""38000 "은" "38000 내가 필요한 데이터입니다

는. 내가 사용하는 데이터 통합 ​​소프트웨어 (Talend 6.11) 이미 나를 위해 선행 및 후행 따옴표 (그래서,"38000 "은 38000이됩니다) 스트립 하지만 다른 사람들을 없애는 방법을 찾을 수는 없습니다.

그래서 "38000"이 되려면 기본적으로 "=" "38000" ""이 필요합니다. wh 기본 "="이 제거되고 후행 ""이 제거됩니다.

나를 위해 이것을 수행 할 수있는 TRIM 기능이 있습니까? 아마도 이것을 할 수있는 Talend의 방법이 있을까요? 그런

답변

0

뭔가 :

SELECT format('"%s"', trim(both '"=' from '"=""38000"""')); 

-[ RECORD 1 ]--- 
format | "38000" 

1 : 트림() 함수는 모든 "과 = 문자를 제거 결과는 단순히 38000
2 :. 형식은 희망찬 최종 결과를 얻기 위해 다시 따옴표를 추가 할 수 있습니다와

또는 정규 표현식과 다른 포스트 그레스 문자열 기능을 사용할 수 있습니다

은 자세한 :. https://www.postgresql.org/docs/current/static/functions-string.html

1

다른 대답이 명시된대로 SQL에서이 작업을 수행 할 수 있습니다. 또는 Talend 내에서 Java, Groovy 등에서이 작업을 수행 할 수 있습니다. 그러나 작업을 수행하는 기존 Talend 구성 요소가있는 경우이를 사용하는 것이 좋습니다. 이로 인해 개발 시간이 단축되고 테스트 횟수가 줄어들며 유지 관리가 쉬워집니다. 이미 말했 겠지만 사용 가능한 모든 구성 요소를 검토하는 것이 중요하므로 사용 가능한 항목을 알고 있어야합니다.

Talend 구성 요소 tReplace을 사용하여 따옴표와 등호를 다듬을 입력 열을 각각 검사 할 수 있습니다. 단일 tReplace 구성 요소는 여러 입력 열에서 작업을 검색하고 바꿀 수 있습니다. 모든 대체물이 서로 관련되어 있다면, 나는 그것들을 단일 장소에 보관할 것입니다. 관계없는 대체 작업을 수행 할 시점에이 작업을 새 tReplace에 배치하여 논리적 작업을 구성하고 그룹화 할 수 있습니다.

tReplace 
For a given Input Column 
    search for "=", replace with "" 
    search for "\"", replace with ""