VarArgsSQLFunction

Constructs a VarArgsSQLFunction instance with a 'static' return type. An example of a 'static'
return type would be something like an UPPER function which is always returning
a SQL VARCHAR and thus a string type.

Parameters:

type - The return type.

begin - The beginning of the function templating.

sep - The separator for each individual function argument.

end - The end of the function templating.

VarArgsSQLFunction

Constructs a VarArgsSQLFunction instance with a 'dynamic' return type. For a dynamic return type,
the type of the arguments are used to resolve the type. An example of a function with a
'dynamic' return would be MAX or MIN which return a double or an integer etc
based on the types of the arguments.