Least returns the smallest of the values in the list.This function is used for multiple values in the same row.(but it is not equalant to MIN.
LEAST(expr [,expr] ...)
Returns the least of the list of exprs. All exprs after the first are implicitly converted to the datatype of the first expr before the comparison. Oracle compares the exprs using nonpadded comparison semantics. If the value returned by this function is character data, its datatype is always VARCHAR2.
SELECT LEAST('HARRY','HARRIOT','HAROLD') "LEAST"
If the values themselves are dynamic, no problem. You can use variables, column names, and constants mix-n-match to your heart's content. If the number of values are dynamic, you'll have to resort to some form of black magic, but I haven't seen anything that makes me think that might be the case.