

 Amazon Redshift는 패치 198부터 새 Python UDF 생성을 더 이상 지원하지 않습니다. 기존 Python UDF는 2026년 6월 30일까지 계속 작동합니다. 자세한 내용은 [블로그 게시물](https://aws.amazon.com/blogs/big-data/amazon-redshift-python-user-defined-functions-will-reach-end-of-support-after-june-30-2026/)을 참조하세요.

# Scalar SQL UDF
<a name="udf-creating-a-scalar-sql-udf"></a>

스칼라 SQL UDF에는 함수 호출 시 실행되어 단일 값을 반환하는 SQL SELECT 절이 포함됩니다. [CREATE FUNCTION](r_CREATE_FUNCTION.md) 명령에서 사용하는 파라미터는 다음과 같습니다.
+ (옵션) 입력 인수. 각 인수마다 데이터 형식이 있어야 합니다.
+ 반환 데이터 형식 1개
+ SQL SELECT 절 1개. SELECT 절에서는 함수 정의에서 인수의 순서에 따라 \$11, \$12, ... 등을 이용한 입력 인수를 참조하십시오.

입력 및 반환 데이터 형식은 모든 표준 Amazon Redshift 데이터 형식일 수 있습니다.

SELECT 절에 FROM 절을 포함하지 마십시오. 대신 SQL UDF를 호출하는 SQL 문에 FROM 절을 포함하십시오.

SELECT 절은 다음 유형의 절을 포함할 수 없습니다.
+ FROM
+ INTO
+ WHERE
+ GROUP BY
+ ORDER BY
+ LIMIT

# 스칼라 SQL 함수 예
<a name="udf-scalar-sql-function-example"></a>

다음은 2개의 수를 비교하여 더 큰 값을 반환하는 함수의 생성 예입니다. 자세한 내용은 [CREATE FUNCTION](r_CREATE_FUNCTION.md) 섹션을 참조하세요.

```
create function f_sql_greater (float, float)
  returns float
stable
as $$
  select case when $1 > $2 then $1
    else $2
  end
$$ language sql;
```

다음은 새로운 f\$1sql\$1greater 함수를 호출하여 SALES 테이블에 대한 쿼리를 실행한 후 COMMISSION 또는 PRICEPAID의 20% 중에서 더 큰 값을 반환하는 쿼리입니다.

```
select f_sql_greater(commission, pricepaid*0.20) from sales;
```