A function is an identifier that instructs PostgreSQL to perform a programmatic operation within a SQL statement. A function returns a single value from its operation, and that value is then used in the SQL statement where the function was invoked. This process is similar to the way operators return their results in the location from which they were called in the query. (In fact, operators are technically pointers to built-in system functions, and are sometimes called “syntactic sugar” for functions, as they are a syntactically convenient way to call underlying functions.)
To use a function in a SQL statement, type the function’s name, followed by its list of
parameters (called arguments), if any. The arguments passed to a function
are enclosed in parentheses. There are two general styles of entering arguments: the standard
SQL92 functions are generally implemented so that they accept their arguments delimited by
special SQL keywords, such as
FROM, FOR, and
PostgreSQL-style functions, on the other hand, accept arguments delimited by commas (which you
might expect if you have experience with a programming language such as C).
Arguments may be constants, valid identifiers, or expressions. The particular arguments you need to pass to a function will depend completely on the function being used, and its requirements: especially with regards to data types. With a couple of exceptions, all functions require the open and closing parentheses following the function ...