Has anyone found a description of the "?" returned by bad computations? I was surprised that an erroneous timestamp is bigger than a correct one?
It's big:
Timestamp ( date("";"";"") ; time("";"";"") ) > 10^99 // true
An invalid timestamp returns ?, a text value. A valid timestamp returns a date-time value. FileMaker coerces the data to text when comparing both values because date-time values can be coerced into text but ? can't be coerced into a date-time. A date-time value coerced into text starts with a numeric character. A text value starting with ? is greater than a text value starting with a numeric character.
There is a great article called Working with data types in fields and comparisons that touches on data conversion in the Claris Engineering Blog.
Hope this helps.
Thanks @bdbd, but with your argumentation this should also return true?
One more: the MBS plugin classifies the "?" from timestamp() as number. IMHO this is a "basic function" missing from FileMaker.
"?" > Get ( CurrentHostTimestamp ) --> false
"A" > Get ( CurrentHostTimestamp ) --> true
Ask @MonkeybreadSoftware what the MBS plugin is doing. It may be seeing an error flag, and the associated error number.
EvaluationError ( Evaluate ( Timestamp ( Date ( ""; ""; "" ) ; Time ( "" ; "";"" ) ) ) ) returns 500
which is the error from the Date function being passed back.
Date value does not meet validation entry options
Quite right! Can you show us what datetimestamp() returns on your system?
Sorry, what exactly do you want to see?
The result of Get (CurrentTimestamp) on your computer.
This took a bit of searching.
It seems that FileMaker uses the sorting values instead of unicode values for each character when comparing two text strings. Interesting but difficult to predict unless you are well versed in sorting values as these are locale dependent.
Why, then, is TimeStamp (Date (""; ""; ""); Time (""; ""; "")) > any-number? I am now stumped.