Skip to main content

Query list with CAML - DateTime column

Scenario
We have a SharePoint list with the column DateOfBirth which is DateTime column. We need to filter or query this list programmatically to get items where date of birth is in the certain range

Solution

SPList list = ... // initialize your list
SPQuery query = new SPQuery();
DateTime dtDateFrom = ..., dtDateTo = ...; // our DateTime values

query.Query = string.Format("<Where><And><Leq><FieldRef Name='DateOfBirth' /><Value Type='DateTime'>{0}</Value></Leq><Geq><FieldRef Name='DateOfBirth' /><Value Type='DateTime'>{1}</Value></Geq></And></Where>", SPUtility.CreateISO8601DateTimeFromSystemDateTime(dtDateTo), SPUtility.CreateISO8601DateTimeFromSystemDateTime(dtDateFrom));

SPListItemCollection items;

items = list.GetItems(query);

The above query will use only date value without time. If you would like to take time into account as well it has to look like the following:

query.Query = string.Format("<Where><And><Leq><FieldRef Name='DateOfBirth' /><Value Type='DateTime' IncludeTimeValue='True'>{0}</Value></Leq><Geq><FieldRef Name='DateOfBirth' /><Value Type='DateTime' IncludeTimeValue='True'>{1}</Value></Geq></And></Where>", SPUtility.CreateISO8601DateTimeFromSystemDateTime(dtDateTo), SPUtility.CreateISO8601DateTimeFromSystemDateTime(dtDateFrom));


Comments

  1. Hello ,

    Could you please help me for applying format in ViewField tag of SPQuery ?
    Please find my code as below :


    Here i want the 'Training_x0020_Date' in date format only at the time of fetching rows from List.

    Thank You

    ReplyDelete

Post a Comment

Popular posts from this blog

Setting up External Content Type for SQL Server database using SQL Server authentication - SharePoint 2010 Foundation

This post is a follow up on the issues that I have got setting up External Content Type (ECT) on SharePoint 2010 Foundation that was going to connect to remote SQL Server database for information. I cannot use my SharePoint user accounts to access SQL Server. According to the information I have discovered ECT and Business Connectivity Services are available in the SharePoint 2010 Foundation, but there are some issues if you want to use authentication methods in your external connections that are different from Windows Identity or Current User Identity. This is because there is no Secure Store Service in SharePoint 2010 Foundation which serves as an impersonation hub and is only available in SharePoint 2010 Server edition. The issues are coming from the fact that you can actually create ECT in SharePoint Designer 2010 providing just Secure Store ID and system would ask you for credentials and here you go, but when you try to use your ECT in External Lists or as a lookup columns you w

InfoPath 2013 Preview - URL not valid error when publishing

In InfoPath 2010 there is a problem when you try to publish a Form to a SharePoint site that doesn't have root site collection. You will get an error message "The following url is not valid". It's described here:   http://support.microsoft.com/kb/981854 The solution is to create root site collection for the Web application. Same problem is with InfoPath 2013: In my situation I didn't create the root site collection initially, but used "/sites" managed path instead for all site collections. To solve the problem with InfoPath I had to create it. Used a new site template "Project Site". Will get a chance to research that too. :)  

Document Sets - SharePoint 2010 - Part 1

Hi again, in this post I am going to demonstrate how set up and start using Document Sets in SharePoint 2010. In Beta version there was a little problem when working with Document Sets. You could see the discussion around it here: Document Set content type issue . Now it is fixed and I will show you how to set up Document Sets properly to also use Keywords. 1. Activate two site collection features - Document Sets and Document ID Service: 2. Select a document library settings where you want to implement Document Sets. In my case it is Shared Documents. When you have selected the settings go to Advanced settings and then allow content types management: 3. Add an existing content type called Document Set: 4. Now I want to create a new Document Set. I have a sales opportunity and I have two documents related to this sales opportunity. So first I select New Document -> Document Set command, then provide name and description and there it is: 5. To check if our Document ID