Amazon Redshift will no longer support the creation of new Python UDFs starting November 1, 2025.
If you would like to use Python UDFs, create the UDFs prior to that date.
Existing Python UDFs will continue to function as normal. For more information, see the
blog post
Scalar SQL UDFs
A scalar SQL UDF incorporates a SQL SELECT clause that runs when the function is called and returns a single value. The CREATE FUNCTION command defines the following parameters:
-
(Optional) Input arguments. Each argument must have a data type.
-
One return data type.
-
One SQL SELECT clause. In the SELECT clause, refer to the input arguments using $1, $2, and so on, according to the order of the arguments in the function definition.
The input and return data types can be any standard Amazon Redshift data type.
Don't include a FROM clause in your SELECT clause. Instead, include the FROM clause in the SQL statement that calls the SQL UDF.
The SELECT clause can't include any of the following types of clauses:
-
FROM
-
INTO
-
WHERE
-
GROUP BY
-
ORDER BY
-
LIMIT