title: Difference between StaticName and InternalName (in the SPField class)
body: <p>I want to make a CAML query semi-smart - in that I can give it a Title (which is what the end user sees) and it looks up the appropriate "Title" to pass as part of the CAML query:</p>
  
  <pre><code>var caml = "&lt;OrderBy&gt;&lt;FieldRef Name='" + field + "'/&gt;&lt;/OrderBy&gt;";
  </code></pre>
  
  <p>It looks like I can iterate through the Fields collection of the list using the object model, and then key off the Title property to compare with what the user sees. My question lies in the usage of StaticName versus InternalName. My gut + the MSDN documentation seem to indicate that InternalName is the right property to use and replace <em>field</em> in the above code - particularly because InternalName can't be modified.</p>
  
  <p>Can anyone shed light on this?</p>