2012-03-14 8 views
5

के साथ डेटटाइम की तुलना करना मैं एक सीएएमएल क्वेरी को एक साथ रखने की कोशिश कर रहा हूं जो दो डेटटाइम ऑब्जेक्ट्स की तुलना करता है, लेकिन मैं ईक तुलना का उपयोग करके इसे काम नहीं कर सकता। मेरे परीक्षण से मैं डेटटाइम तुलना के साथ काम करने के लिए जीटी, लेफ्टिनेंट, गीक, लेक प्राप्त कर सकता हूं, लेकिन ईक हमेशा काम नहीं कर रहा है।सीएएमएल क्वेरी Eq

पहला ऑब्जेक्ट एक दिनांक और समय क्षेत्र है (InfoPath द्वारा उत्पादित और एक SharePoint सूची में दिनांक और समय फ़ील्ड में सहेजा गया), वर्तमान उदाहरण में "3/14/2012 12:00 पूर्वाह्न" है। मैंने आईएसओ प्रारूप 2012-03-14T00: 00: 00Z में हार्ड-कोडेड मान का उपयोग करके [आज /] मान का उपयोग करने का प्रयास किया है, लेकिन अब तक कुछ भी काम नहीं किया है। मैंने IncludeTimeValue के साथ प्रयोग किया है, इसे सही/गलत पर सेट किया है, कोई सुधार नहीं है।

मेरे वर्तमान क्वेरी एक छोटे से इस तरह दिखता है,

<Query> 
<Where> 
    <Eq> 
    <FieldRef Name="SomeDateTimeField" IncludeTimeValue="TRUE" /> 
    <Value Type="DateTime" IncludeTimeValue="TRUE">2012-03-14T00:00:00Z</Value> 
    </Eq> 
</Where> 
</Query> 

यह कुछ भी नहीं देता है, भले ही मैं इस सूची में उस तारीख समय के साथ एक आइटम की है। कोई विचार?

+0

मुझे लगता है कि इस बीच में मैं यह जांचने जा रहा हूं कि यह जीटी/लेफ्टिनेंट रेंज में है या नहीं, यह निर्धारित करने के लिए कि क्या यह ऐसा करने के लिए ईक का उपयोग करने की बजाय एक विशिष्ट तारीख है या नहीं। एक उग्र क्वेरी के लिए बनाता है, लेकिन यह अब तक काम करता है। – ferr

+0

आपको मूल्य के चारों ओर उद्धरणों को हटाना होगा। – ktharsis

+0

क्षमा करें कि पोस्ट में एक टाइपो था, वास्तविक कोड उस पर प्रतिबिंबित नहीं करता है। – ferr

उत्तर

1

इस काम करता है:

<Query><Where><Eq><FieldRef Name="SomeDateTimeField"/><Value IncludeTimeValue='TRUE' Type='DateTime'>2012-03-14T00:00:00</Value></Eq></Where></Query> 
+2

यह काम नहीं करता है। – ferr

+0

यह क्या लौटता है? 0 परिणाम? एक त्रुटि? – TroyBramley

+0

क्योंकि यह आइटम लौटाएगा जहां "SomeDateTimeField" = 2012-03-14T00: 00: 00। परिणाम खाली होगा यदि फ़ील्ड मान एक सेकंड से अलग है। –

2

समान बयान कुछ भी वापस नहीं कर सकता, क्योंकि सेकंड गिने जाते हैं। दिनांक सीमा का उपयोग करने का प्रयास करें। नमूना:

<Where> 
<And> 
    <Gt> 
    <FieldRef Name='Created' /> 
    <Value IncludeTimeValue='TRUE' Type='DateTime'>2014-12-10T00:00:00Z</Value> 
    </Gt> 
    <Lt> 
    <FieldRef Name='Created' /> 
    <Value IncludeTimeValue='TRUE' Type='DateTime'>2014-12-10T23:59:59Z</Value> 
    </Lt> 
</And> 
</Where> 

कृपया ध्यान दें, हम उसी तारीख का उपयोग करते हैं, लेकिन अलग-अलग समय का उपयोग करते हैं।

संबंधित मुद्दे