Outdated Version

You are viewing an older version of this section. View current production version.


Returns the highest value observed in its arguments. “Highest” is determined by the collation rules of the data passed in.


This function is not to be confused with MAX, which is an aggregate function returning the highest value in all rows in an aggregation.


GREATEST ( expression, expression [, expression ...] )


  • expression: any number of expressions. This may be a column name, the result of another function, or a math operation.

Return Type

The highest value, in the type of the input.

For example, if all arguments are integers, they are compared as integers. If one argument is a decimal type, they are compared as decimal types. If arguments are a mix of strings and numbers, they are compared as numbers. If an argument is a nonbinary string, the arguments are compared as nonbinary strings.


| greatest(1, 2, 3) |
|                 3 |

memsql> select greatest('a', 'b', '_', '9', 'c');
| greatest('a', 'b', '_', '9', 'c') |
| _                                 |