So you have a SharePoint list with a calculated field. You want to select items based on the calculated field beginning with some specific substring. You write a CAML query:
<Where>
<BeginsWith>
<FieldRef Name="SortDate" />
<Value Type="Calculated">200509</Value>
</BeginsWith>
</Where>
This won’t work. (At least on my server) you’d always get informed that ” The SQL Server might not be started” + get a useless COM exception number 0x81020024. You can work around the problem by changing the value type to “Text”
<Where>
<BeginsWith>
<FieldRef Name="SortDate" />
<Value Type="Text">200509</Value>
</BeginsWith>
</Where>
This also works on the “Contains” operator. Other operators such as LessThan, GreaterThan, Equals, IsNull allow you to set the real value type – Calculated. Don’t know why. Probably a bug in Sharepoint.
or you try
Microsoft.SharePoint.Utilities.SPUtility.CreateISO8601DateTimeFromSystemDateTime(yourDatetime);
to format your date.
Please check for the type which you have used while creating computed or calculated coloum and change it in your CAML Query Vlaue type. It will work.