我正在尝试创建一个FetchXML脚本,用于检索日期减去30天的记录。
以下是有效的SQL。请问有人帮我使用FetchXML吗?
SELECT *
FROM [students]
WHERE start_date = CONVERT(DATE,DATEADD(DAY,-30,GETDATE()))
提前致谢,
理查德
答案 0 :(得分:3)
FetchXml没有此问题的选项。
可以使用Last X Days和OlderThan X Days的组合来实现。
<fetch version="1.0" output-format="xml-platform" mapping="logical" distinct="false">
<entity name="students">
<attribute name="name" />
<filter type="and">
<condition attribute="start_date" value="30" operator="last-x-days"/>
<condition attribute="start_date" value="29" operator="olderthan-x-days"/>
</filter>
</entity>
</fetch>
答案 1 :(得分:0)
FetchXml仅为此特定问题提供有限支持。
您必须自己计算目标日期并将其作为过滤值传递:
<fetch version="1.0" output-format="xml-platform" mapping="logical" distinct="false">
<entity name="account">
<attribute name="name" />
<filter type="and">
<condition attribute="createdon" operator="on" value="2015-03-13" />
</filter>
</entity>
</fetch>
如果您还没有尝试过:使用高级查找通过下载生成的FetchXml来探索DateTime属性支持的内置过滤器。