如何在 TDE 中进行算术运算

How to do arithmetic operation in TDE

我需要获取其中一个日期字段的前一个日期,因为我正在 TDE 中执行以下操作。但是我在这个操作中遇到了错误。我怎样才能做到这一点

<tde:column>
<tde:name>PreStartDate</tde:name>
<tde:scalar-type>date</tde:scalar-type>
<tde:val>(hdm:StartDate - xs:dayTimeDuration("P1D"))</tde:val>
<tde:nullable>true</tde:nullable>
</tde:column>

我看到您的评论说 hdm:StartDate 已经是日期格式。但是,如所写,您拥有的是一个看起来像日期的字符串(嗯,更准确地说是 untypedAtomic)。它需要转换为实际的日期类型,然后才能从中减去 dayTimeDuration

<tde:column>
  <tde:name>PreStartDate</tde:name>
  <tde:scalar-type>date</tde:scalar-type>
  <tde:val>(xs:date(hdm:StartDate) - xs:dayTimeDuration("P1D"))</tde:val>
  <tde:nullable>true</tde:nullable>
</tde:column>