XQuery OSB将字符串转换为短日期

时间:2011-08-15 10:17:48

标签: xml xquery osb

我需要将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 个答案:

答案 0 :(得分: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))