They can accept only one argument.
They can be nested up to only two levels.
They can return multiple values of more than one data type.
They can be used in SELECT, WHERE, and ORDER BY clauses.
They can modify the data type of the argument that is referenced.
They can accept a column name, expression, variable name, or a user-supplied constant as arguments.