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.