Amazon Redshift는 2026년 6월 30일 이후에 Python UDF 사용을 더 이상 지원하지 않습니다. 해당 조치는 단계적으로 시행될 예정입니다. Python 수명 종료 및 마이그레이션 옵션에 대한 자세한 내용은 2025년 6월 30일에 게시된 블로그 게시물
복합 표현식
복합 표현식이란 연속된 단순 표현식이 산술 연산자로 결합되어 있는 것을 말합니다. 복합 표현식에 사용되는 단순 표현식은 숫자 값을 반환해야 합니다.
구문
expression operator expression | (compound_expression)
인수
- expression
-
값으로 평가되는 단순 표현식입니다.
- 연산자
-
복합 산술 표현식은 다음 연산자의 순서에 따라 작성할 수 있습니다.
-
( ) : 평가 순서를 제어하기 위한 괄호
-
+ , - : 양 및 음의 부호/연산자
-
^ , |/ , ||/ : 지수, 제곱근, 세제곱근
-
* , / , % : 곱하기, 나누기 및 모듈로 연산자
-
@ : 절대값
-
+ , - : 더하기, 빼기
-
& , |, #, ~, <<, >> : AND, OR, NOT, 왼쪽 이동, 오른쪽 이동 비트 연산자
-
||: 연결
-
- (compound_expression)
-
복합 표현식은 괄호를 사용해 중첩될 수 있습니다.
예제
복합 표현식의 예는 다음과 같습니다.
('SMITH' || 'JONES') sum(x) / y sqrt(256) * avg(column) rank() over (order by qtysold) / 100 (select (pricepaid - commission) from sales where dateid = 1882) * (qtysold)
일부 함수는 다른 함수 내에서 중첩될 수도 있습니다. 예를 들어 스칼라 함수는 다른 스칼라 함수 내에서 중첩이 가능합니다. 다음은 숫자 집합의 절대값 총합을 반환하는 예입니다.
sum(abs(qtysold))
창 함수는 집계 함수 또는 기타 창 함수의 인수로 사용할 수 없습니다. 다음과 같은 표현식은 오류를 반환합니다.
avg(rank() over (order by qtysold))
창 함수에 중첩된 집계 함수가 포함될 수 있습니다. 다음은 값 집합의 총합을 구한 후 순위를 정하는 표현식입니다.
rank() over (order by sum(qtysold))