14

I have a 15 digit Sfdc ID, but I do not know which object it belongs to.

How can I find out which objects it belongs to and the convert it to 18 digits - all using SOQL?

P.S. I was annoyed at having to do this manually every single time, so I created a small app that detects 15 digits SFDC IDs and then automatically up converts them to 18 digits.

Video: https://www.youtube.com/watch?v=1xwd9WkcG10

Github: https://github.com/rgelb/SfdcIdUpConverter

Download: https://github.com/rgelb/SfdcIdUpConverter/releases/download/1.2/SfdcIdUpConverterSetup.exe

P.S. The code no longer works with the latest rev of Salesforce. I am not planning to make any updates as I no longer work with Salesforce. If anyone wants to fork the GitHub repo, it might live on.

2
  • 1
    You can directly query the id of an sObject using the 15 char id value, and get the 18 char value returned. [SELECT Id FROM Account WHERE Id = '006V000000NT4kj'] will return the value '006V000000NT4kjIOU'. Sep 29, 2015 at 13:26
  • Have a read of What are Salesforce ID's composed of?. The 15 and 18 character ID's can be used interchangeably in SOQL. Sep 29, 2015 at 22:22

2 Answers 2

20

To convert it to 18 digits you can simply set it to an Id type variable:

Id someId = '001J000001eun1Q';

Which will automatically convert it for you:

system.debug(someId); // 001J000001eun1QIAQ

Then you can simply call the getSObjectType() method on the Id variable which will return the object name:

Schema.SObjectType objectType = someId.getSObjectType();
system.debug(objectType); // Account
4
  • But thats nit soql :)
    – zokito
    Sep 29, 2015 at 6:25
  • You can't do that using SOQL, you have to use APEX. Sep 29, 2015 at 6:27
  • That's also correct
    – zokito
    Sep 29, 2015 at 6:28
  • Didn't get the answer I would have liked...but just the system.debug trick is worth millions! Sep 29, 2015 at 16:45
2

I know this is an old post, but just in case it is useful to someone, if you want to do ad-hoc conversions of Id's, rather than programatically, then this Chrome extension makes it easy: https://chrome.google.com/webstore/detail/sf-15-to-18/cogllpmaoflgaekieefhmglbpgdgmoeg

FYI - I'm the developer. Please use the feedback form on the app if you'd like to suggest any improvements or additional functionality.

Thanks!

2
  • Your extension works perfectly. I would like to understand the logic behind conversion of 15 digit to 18 digit. We need to build this conversion process in a c# application Aug 11, 2021 at 20:31
  • This page explains it quite well: gammone.com/en/programming/…
    – cyberspy
    Oct 21, 2021 at 8:37

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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