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.