我需要获取某个日期字段的前一个日期,因为我正在 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>
关于marklogic - 如何在 TDE 中进行算术运算,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66345403/