I want to build a CAML query to search for all title fields that do NOT begin with a certain value:
something like this: Where Title NOT BeginsWith 'myvalue'.
How can i do that in my CAML query?
as far as I know, this is not possible using caml
you could do it on the results afterwards.
I know it's ugly but I do not know if there is another solution
You might try adding a calculated column on your list, something to the effect of:
=IF(LEFT([Title], 7)="myvalue", "YES", "NO")
Then you could use the CAML query to check the calculated column for "YES" or "NO".
You might have to adjust the formula above to account for NULL or to test if the overall length (LEN) of the string is longer than the prefix you are checking for, but hopefully you get the idea.
Here is the resource for the forumlas you can use in the calculated column:
Dependent on the amount of data you are going to query maybe using SP search is a valid approach for you. You can use FullTextSQLQuery to optimize your results and you don't have to filter the results like you have to do with CAML.
You can download the U2U Caml Query application. It is usefull and help you to make caml query easily.