日付範囲のCAMLクエリ
-
16-10-2019 - |
質問
私は書いています SPSiteDataQuery
そして、私はに問題を抱えています Query
財産。すべての結果を返す必要があります Record_x0020_Yr_x0020_End_x0020_Date
現在の年の12/31から90日前です。
例:このクエリを今すぐ実行した場合、日付が2011年9月31日から2012年31日/31/31の間にあるすべてのアイテムを取得する必要があります。来年の任意の時点でクエリを実行した場合、2012年9月31日/2012-12/31/2012を取得する必要があります。これが私がこれまでに持っているものです:
query.Query = string.Format(@"
<Where>
<Eq>
<FieldRef Name='Record_x0020_Yr_x0020_End_x0020_Date' />
<Value Type='DateTime' IncludeTimeValue='FALSE'>{0}</Value>
</Eq>
</Where>", new DateTime(DateTime.Now.Year, 12, 31).ToString("yyyy-MM-dd"));
これにより、日付が年末になるすべての人が私に与えられますが、範囲を追加するにはどうすればよいですか?
解決
ダウンロードa U2UによるこのようなCAMLクエリビルダーツール 構文を正しくするのに役立ちます。
このツールを使用して、これは開始日> = 1/2011年1月1日と2011年12月31日/12月31日に得られるものです。これをリスト列と日付範囲に適合させることができます。
<Query>
<Where>
<And>
<Geq>
<FieldRef Name="StartDate" />
<Value IncludeTimeValue="TRUE" Type="DateTime">2011-01-01T15:55:52Z</Value>
</Geq>
<Leq>
<FieldRef Name="StartDate" />
<Value IncludeTimeValue="TRUE" Type="DateTime">2011-12-31T15:56:29Z</Value>
</Leq>
</And>
</Where>
</Query>
他のヒント
これをチェックしてください:
あなたの2つの日付:
DateTime lastDay = new DateTime(DateTime.Now.Year, 12, 31);
DateTime dtThreeMonthsPrior = lastDay.AddMonths(-3);
また、あなたの質問では、9か月が30日しかないので、9/31のように日付を9/31のように言及しました。笑
所属していません sharepoint.stackexchange