0
query.Query = @"<Where>
<And>
<BeginsWith>
<FieldRef Name='ContentTypeId'/>
<Value Type='Text'>[LONG GUID]</Value>
</BeginsWith>
<And>
<Geq>
<FieldRef Name='PublishingStartDate' />
<Value Type='DateTime'>2011-01-01T15:55:52Z</Value>
</Geq>
<Leq>
<FieldRef Name='PublishingStartDate' />
<Value Type='DateTime'>2011-01-01T15:55:52Z</Value>
</Leq>
</And>
</And>
</Where>
<OrderBy>
<FieldRef Name='PublishingStartDate' Ascending='FALSE' />
</OrderBy>";

上記のクエリは、特定のコンテンツ タイプのすべてのアイテムを 2 つの日付の間に戻し、同じ日付フィールドで (降順で) 並べ替えようとしています。

編集:これは SPSiteDataQuery であることを言及する必要があります

4

2 に答える 2

1

CAML に問題はありません。私が気づいたことの 1 つは、PublishingStartDate フィルター値の値です。Geq と Leq の両方がまったく同じ日時値を持っています。

<Geq>
<FieldRef Name='PublishingStartDate' />
<Value Type='DateTime'>2011-01-01T15:55:52Z</Value>
</Geq>
<Leq>
<FieldRef Name='PublishingStartDate' />
<Value Type='DateTime'>2011-01-01T15:55:52Z</Value>
</Leq>

両方のフィルターが同じ日時を使用する必要がありますか?

于 2012-06-22T19:41:55.873 に答える
0

これに答えるには遅すぎるかもしれませんが、参考までに: 問題は、クエリまたはビュー フィールドで改行記号を使用できないことです。私は同じ問題を抱えていました - CAML をすべて 1 つの行に配置すると、機能します。

于 2016-10-05T07:56:41.660 に答える