기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.
PartiQL 데이터 유형, 연산자 및 집계의 하위 집합을 사용하여 행 필터 표현식을 생성할 수 있습니다. Lake Formation에서는 필터 표현식에 사용자 정의 함수 또는 표준 PartiQL 함수를 사용할 수 없습니다. 비교 연산자를 사용하여 열을 상수(예: views >= 10000
)와 비교할 수 있지만, 열을 다른 열과 비교할 수는 없습니다.
행 필터 표현식은 단순 표현식일 수도 있고 복합 표현식일 수도 있습니다. 표현식의 총 길이는 2048자 미만이어야 합니다.
단순 표현식
단순 표현식의 형식은 다음과 같습니다. <column name > <comparison operator ><value >
-
열 이름
테이블 스키마에 있는 최상위 데이터 열, 파티션 열 또는 중첩된 열이어야 하며 아래에 나열된 지원되는 데이터 유형에 속해야 합니다.
-
비교 연산자
지원되는 연산자는
=, >, <, >=, <=, <>,!=, BETWEEN, IN, LIKE, NOT, IS [NOT] NULL
입니다. -
모든 문자열 비교와
LIKE
패턴 일치는 대/소문자를 구분합니다. 파티션 열에는 IS [NOT] NULL 연산자를 사용할 수 없습니다. -
열 값
열 값은 열 이름의 데이터 유형과 일치해야 합니다.
복합 표현식
복합 표현식의 형식은 다음과 같습니다. ( <simple expression >) <AND/OR >(<simple expression >)
. 복합 표현식은 논리 연산자 AND/OR
를 사용하여 추가로 결합할 수 있습니다.
지원되는 데이터 유형
지원되지 않는 데이터 유형이 포함된 AWS Glue Data Catalog 테이블을 참조하는 행 필터를 사용하면 오류가 발생합니다. 다음은 Amazon Redshift 데이터 유형에 매핑되는 테이블 열 및 상수에 대해 지원되는 데이터 유형입니다.
-
STRING, CHAR, VARCHAR
-
INT, LONG, BIGINT, FLOAT, DECIMAL, DOUBLE
-
BOOLEAN
-
STRUCT
Amazon Redshift의 데이터 유형에 대한 자세한 정보는 Amazon Redshift 데이터베이스 개발자 안내서의 데이터 유형을 참조하세요.
행 필터 표현식
다음은 열이 있는 테이블에 적합한 행 필터 표현식의 예입니다. country (String), id (Long), year (partition column of type Integer), month
(partition column of type Integer)
year > 2010 and country != 'US'
(year > 2010 and country = 'US') or (month < 8 and id > 23)
(country between 'Z' and 'U') and (year = 2018)
(country like '%ited%') and (year > 2000)
다음은 중첩된 열이 있는 테이블에 적합한 행 필터 표현식의 예입니다. year > 2010 and customer.customerId <> 1
중첩된 행 수준 식을 정의할 때 파티션 열 아래의 중첩된 필드를 참조해서는 안 됩니다.
문자열 상수는 작은따옴표로 묶어야 합니다.
예약어
행 필터 표현식에 PartiQL 키워드가 포함된 경우 열 이름이 키워드와 충돌할 수 있으므로 구문 분석 오류가 발생합니다. 이런 경우에는 큰따옴표를 사용하여 열 이름을 이스케이프 처리하세요. 예약된 키워드의 예로는 "first", "last", "asc", "missing"이 있습니다. 예약된 키워드 목록은 PartiQL 사양을 참조하세요.
PartiQL 참조
PartiQL에 대한 자세한 내용은 https://partiql.org/