我遇到的问题是我在TIMESTAMP键中从数据库中获取datetime对象,但是当我将其转换为字符串时,我得到的不能强制错误。
<db:select config-ref="Oracle_Configuration1" doc:name="Database">
<db:parameterized-query><![CDATA[select * from DB.db_db1_mule_retry
WHERE ROWNUM <= 3]]></db:parameterized-query>
</db:select>
<dw:transform-message metadata:id="f7e98fea-4c1b-4ff7-86be-e927194d6413" doc:name="Transform Message">
<dw:input-payload doc:sample="sample_data\list_map.dwl"/>
<dw:set-payload><![CDATA[%dw 1.0
%output application/json
---
{
source: (payload[0].TIMESTAMP) as :datetime{format:"YYYY-MM-dd HH:mm:ss.S"} as :string{format:"YYYY-MM-dd HH:mm:ss.S"}
}
]]></dw:set-payload>
</dw:transform-message>
数据库元素的值为“2017-10-01 23:23:23.0”
当我尝试使用
获取记录器组件中的值时,只是一个upadate2017-03-01 15:39:33.0
由于
答案 0 :(得分:1)
这应该有效:
payload[0].TIMESTAMP as :datetime as :string {format: "yyyy-MM-dd HH:mm:ss.S"}
答案 1 :(得分:0)
有效负载[0] .TIMESTAMP as:datetime {format:“yyyy-MM-dd HH:mm:ss.S”} as:string {format:“yyyy-MM-dd”}
希望这有帮助。
答案 2 :(得分:0)
您可以在数据库查询中的timestamp列上使用TO_CHAR。之后使用as:带有所需格式的字符串。