SharePoint CAML ИЛИ - PullRequest
       9

SharePoint CAML ИЛИ

0 голосов
/ 01 июля 2018

Как бы я написал этот SQL как CAML?

CurrentDate = Now()
StartDate = '1-1-2018 12:00 AM'
EndDate = '1-1-2018 11:59 PM'

SELECT * FROM Calendar as c
WHERE (c.EventDate <= CurrentDate AND c.EndDate >= CurrentDate)
    OR (c.EventDate <= StartDate AND c.EndDate <= EndDate)

Эта ссылка выглядела хорошо, но не сработала для того, что я пытаюсь сделать.

Это CAML, который у меня есть, но он не работает, я получаю сообщение об ошибке undefined:

<View>
  <Query>
    <Where>
      <Or>
        <Leq><FieldRef Name='EventDate' /><Value StorageTZ='TRUE' IncludeTimeValue="FALSE" Type="DateTime">2018-07-01T00:00:00-0400</Value></Geq>
        <Geq><FieldRef Name='EndDate' /><Value StorageTZ='TRUE' IncludeTimeValue="FALSE" Type="DateTime">2018-07-01T00:00:00-0400</Value></Leq>
          <Or>
              <Leq><FieldRef Name='EventDate' /><Value StorageTZ='TRUE' IncludeTimeValue="FALSE" Type="DateTime">2018-07-01T00:00:00-0400</Value></Leq>
              <Geq><FieldRef Name='EndDate' /><Value StorageTZ='TRUE' IncludeTimeValue="FALSE" Type="DateTime">2018-07-01T23:59:59-0400</Value></Geq>
          </Or>
      </Or>
    </Where>
   </Query>
</View>

1 Ответ

0 голосов
/ 02 июля 2018

Используйте CAML Query ниже.

<Query>
<Where>
        <Or>
            <And>
                <Leq>
                    <FieldRef Name="EventDate"/>
                    <Value IncludeTimeValue='TRUE' Type='DateTime'>2018-07-01T00:00:00Z</Value>
                </Leq>
                <Geq>
                    <FieldRef Name="EndDate"/>
                    <Value IncludeTimeValue='TRUE' Type='DateTime'>2018-07-01T00:00:00Z</Value>
                </Geq>
            </And>
            <And>
                <Leq>
                    <FieldRef Name="EventDate"/>
                    <Value IncludeTimeValue='TRUE' Type='DateTime'>2018-07-01T00:00:00Z</Value>
                </Leq>
                <Leq>
                    <FieldRef Name="EndDate"/>
                    <Value IncludeTimeValue='TRUE' Type='DateTime'>2018-07-01T23:59:59Z</Value>
                </Leq>
            </And>          
        </Or>   
</Where>
</Query>

Вот справочный инструмент конструктора запросов SharePoint CAML. https://github.com/konradsikorski/smartCAML

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...