MAX() in an InterBase query delivers the smallest value
This article has not been rated yet. After reading, feel free to leave comments and rate it.
Question:I run the following query (see box below) and it returns the expected results.
Then I want to retrieve only the max() value and it returns the smallest value instead. Why is that?
Answer:I looked into the problem and suspected that the ID field 'units_scenarios_id' is not a numerical field. Indeed it was defined as a varchar().
You can add +0 to force Interbase to treat it as a number or do a clean type cast as shown below:
select max(cast(FIELDNAME as integer))