首页 文章

XQuery OSB将String转换为shortDate

提问于
浏览
0

我需要将String转换为其中一个xml节点上的日期,该节点具有以下xsd:

<xs:element minOccurs="0" name="executionDate" type="general:ShortDate"/>

我的字符串格式为yyyymmdd我需要将其转换为ddmmyyyy shortDate格式 .

我正在使用OSB并尝试以下方式执行此操作:

{xs:dateTime(xs:date('20041212'))}

我收到以下错误:

<con:reason xmlns:con="http://www.bea.com/wli/sb/context">OSB Insert action failed updating variable "body": {err}XP0021: "20041212": can not cast to {http://www.w3.org/2001/XMLSchema}date: error: date: Invalid date value: wrong type: 20041212</con:reason>

任何人都可以帮助我吗?

1 回答

  • 2

    在XQuery中,日期由ISO格式表示:yyyy-mm-dd . 要使您的查询编译,您希望将其转换为:

    {xs:dateTime(xs:date('2004-12-12'))}
    

    但结果却是

    2004-12-12T00:00:00
    

    我不认为你在寻找 .

    你能不能这样做吗?

    concat(substring($date, 7, 2), substring($date, 5, 2), substring($date, 1, 4))
    

相关问题