Just for the sake of argument, if I had the following formula field:
MyObject__c.FormulaField__c = DAY(TODAY())
What is the actual value of this field stored in the database, will the value change the next day?
Salesforce Stack Exchange is a question and answer site for Salesforce administrators, implementation experts, developers and anybody in-between. It only takes a minute to sign up.
Sign up to join this communityJust for the sake of argument, if I had the following formula field:
MyObject__c.FormulaField__c = DAY(TODAY())
What is the actual value of this field stored in the database, will the value change the next day?
The answer to this question just got more interesting as of the Spring 13 release.
I would take a moment to read this recent blog post on large data volumes and custom indexes to get more details.
Essentially, as of Spring 13, it is possible to contact support and ask that a custom formula field be indexed, which, in that case, something must be stored in the database.
But this only is allowed for deterministic formulas. NOW and TODAY are called out quite explicitly as non-deterministic in nature.
So the answer is still "no". Formula field values with TODAY and NOW are not stored in the database, and will always be recalculated on record read. I just felt this was a great opportunity to draw attention to this new indexing feature.
Formula fields are not stored in the database they are calculated at query time. As a result they always have the correct value.