If you use a qualified function reference, you restrict the search for a matching function to that schema.
For example, you have the following statement:
SELECT PABLO.BLOOP(COLUMN1) FROM T
Only the BLOOP functions in schema PABLO are considered. It does not matter that user SERGE has defined a BLOOP function, or whether there is a built-in BLOOP function. Now suppose that user PABLO has defined two BLOOP functions in his schema:
CREATE FUNCTION BLOOP (INTEGER) RETURNS ... CREATE FUNCTION BLOOP (DOUBLE) RETURNS ...
BLOOP is thus overloaded within the PABLO schema, and the function selection algorithm chooses the best BLOOP, depending on the data type of the argument, COLUMN1. In this case, both of the PABLO.BLOOPs take numeric arguments, and if COLUMN1 is not one of the numeric types, the statement will fail. On the other hand if COLUMN1 is either SMALLINT or INTEGER, function selection will resolve to the first BLOOP, while if COLUMN1 is DECIMAL or DOUBLE, the second BLOOP will be chosen.
Several points about this example:
SELECT PABLO.BLOOP(DOUBLE(COLUMN1)) FROM T
SELECT PABLO.BLOOP(INTEGER(COLUMN1)) FROM T SELECT PABLO.BLOOP(FLOOR(COLUMN1)) FROM T