This is a new issue i have found that if you add any number in the column name then the internal name of that column is very random. Its happening in Sharepoint Online, not sure if its there in on premise. Example we have a column named 12Column then the internal name of that column is _x0031_2Column This seems to be happening if we start a column name with a number. When we check the column mapping from rest call to the list items we get the column tag as <d:OData__x0031_2Column m:null="true" /> Not sure what can be done to handle this as i need to get this column as a filter for my rest call.

Any approach help is appreciated

  • why not name it as text first so that the internal name can be set. Later rename it to 12Column Jan 19, 2017 at 8:37
  • Which is your question? How to get the internal column name? How to change the internal column name? (not possible)
    – Cecilia
    Jan 19, 2017 at 9:09
  • I need to get the column values by putting it in Rest query select. Now if i put OData__x0031_2Column in the query in browser it fetches me the details but this cannot be hard coded. It needs to be generic for all types of column names. Jan 19, 2017 at 9:26
  • And actually it will be end users who will be naming columns so cant ask them to do that. Jan 19, 2017 at 9:27

2 Answers 2


It should not be an issue for you. First of all, to apply your filter you need to know the column internal name from SharePoint, it can not be guessed in any way. Additionally, I believe OData forbids entity properties starting with an underscore, I can't find where it is written though. Because SharePoint column names can start with an underscore, SharePoint will prefix such column names with "OData_" to conform to the specification when dealing with the REST endpoint.


In (almost all) programming languages Variables can not start with digits.

Source: https://stackoverflow.com/questions/342152/why-cant-variable-names-start-with-numbers

Because then a string of digits would be a valid identifier as well as a valid number

  int 15 = 21;
  var 15 = 21;

In JavaScript it is possible to use Object Keys with (leading) digits

var myObj = {};
myObject[ '15-myvar' ] = 21;

But it is not considered good practice,
since you can not do

console.log( myObj.15-myvar );

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.