A function in PL/SQL is a named block that can take parameters and return a value. Functions have three sections: declaration, executable, and exception handling. They are created using the CREATE FUNCTION statement and can be single-row or multiple-row. Single-row functions return one result per row while multiple-row functions return one result per group of rows. Common functions include character, numeric, date, and conversion functions for manipulating values.