I would not use that because you need to understand that it is the Namespace of the organization .
Lets assume your org is Namespaced as "XYZ"(I assume you are packaging out of it) and your subscriber installs the app in the PROD or Sandbox and PROD or Sandbox wont have any namespace ,so that will be blank .
I queried in an org where I have mutiple packages installed and its value is blank .Although query returns a row .
So there is no question of using this in managed application .This seems good if you want to do something with Tooling or Metadata API where you need to know org namespace .
If you need namespace (most of times packaging org takes care of namespacing) then use below
global without sharing class CONSTANTS {
public static final String CURRENTNAMESPACE = CONSTANTS.class.getName().substringBefore('CONSTANTS').removeEnd('.');
public static final String CURRENTNAMESPACEPREFIX = (String.isEmpty(CURRENTNAMESPACE)) ? '' : CURRENTNAMESPACE + '__';
}