2017-10-05 10 views
0

내가 다음과 같습니다 csv 파일을 날짜입니다. 이제 Date에서 String 인 요소 중 하나를 Oracle Timestamp으로 변환해야합니다. 생각을 도와주세요. 소스 코드는 다음과 같습니다뮬 변환 문자열

<flow name="testFlow"> 
    <file:inbound-endpoint path="src/main/resources/input" 
moveToDirectory="src/main/resources/output" connector-ref="File" 
responseTimeout="10000" doc:name="File"/> 
    <dw:transform-message metadata:id="4e33c7ff-c33b-4c78-be34-79a154aa16df" 
doc:name="Transform Message"> 
     <dw:input-payload doc:sample="sample_data\list_csv.csv"/> 
     <dw:set-payload><![CDATA[%dw 1.0 
%output application/java 
--- 
payload]]></dw:set-payload> 
    </dw:transform-message> 
    <logger level="INFO" doc:name="Logger"/> 
    <foreach collection="#[payload]" doc:name="For Each"> 
     <logger message="#[payload]" level="INFO" doc:name="Logger"/> 
    </foreach> 
</flow> 

흐름 설계는 다음과 같습니다

enter image description here

답변

0

을 기본적으로 당신은 날짜 형식으로 CSV의 문자열은 날짜 필드를 변환하는 것입니다 필요 . (CSV는 쉼표로 구분됩니다) 그냥 들어오는 데이터 필드의 형식을 제공하려면 그것은 아래 입력 예를 들어 작동합니다 : -

foo,bar,Name,Date 
foo1,baar1,Name1,15-01-2016 12:08 
foo2,baar2,Name2,15-01-2016 12:08 

을 당신은 DW 아래에 시도 할 수 있습니다 : -

%dw 1.0 
%output application/java 
--- 
payload map { 
    foo : $.foo, 
    bar : $.bar, 
    Name : $.Name, 
    Date : $.Date as :date {format: "dd-MM-yyyy hh:mm" } 
}