복합 표현식 - Amazon Redshift

Amazon Redshift는 2025년 11월 1일부터 새 Python UDF 생성을 더 이상 지원하지 않습니다. Python UDF를 사용하려면 이 날짜 이전에 UDF를 생성하세요. 기존 Python UDF는 정상적으로 계속 작동합니다. 자세한 내용은 블로그 게시물을 참조하세요.

복합 표현식

복합 표현식이란 연속된 단순 표현식이 산술 연산자로 결합되어 있는 것을 말합니다. 복합 표현식에 사용되는 단순 표현식은 숫자 값을 반환해야 합니다.

구문

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))