in
in
은(는) 표현식이 리터럴 목록 내에 존재하는지 평가합니다. 목록에 표현식이 포함된 경우 in은 true를 반환하고 그렇지 않으면 false를 반환합니다. in
은(는) 문자열 유형 입력의 경우 대소문자를 구분합니다.
in
은(는) 두 종류의 리터럴 목록을 받아들입니다. 하나는 수동으로 입력한 목록이고 다른 하나는 다중 값 파라미터입니다.
구문
수동으로 입력한 목록 사용:
in(
expression
,[literal-1, ...]
)
다중값 파라미터 사용:
in(
expression
, $multivalue_parameter
)
인수
- expression
-
리터럴 목록의 요소와 비교할 표현식입니다. 이는
address
와(과) 같은 필드 이름, 'Unknown
'와(과) 같은 리터럴 값, 단일 값 파라미터 또는 다른 스칼라 함수에 대한 호출일 수 있습니다. 단, 이 함수는 집계 함수나 테이블 계산이 아닙니다. - 리터럴 목록
-
(필수 사항) 수동으로 입력한 목록이거나 다중 값 파라미터일 수 있습니다. 이 인수에는 최대 5,000개의 요소를 사용할 수 있습니다. 하지만 타사 데이터 소스(예: Oracle 또는 Teradata)에 대한 직접 쿼리에서는 제한이 더 작을 수 있습니다.
-
수동으로 입력한 목록 - 표현식과 비교할 목록에 있는 하나 이상의 리터럴 값입니다. 목록은 대괄호로 묶어야 합니다. 비교할 모든 리터럴은 표현식과 동일한 데이터 유형을 가져야 합니다.
-
다중 값 파라미터 - 리터럴 목록으로 전달되는 미리 정의된 다중 값 파라미터입니다. 다중값 파라미터는 표현식과 동일한 데이터 유형을 가져야 합니다.
-
반환 타입
부울 참/거짓
정적 목록이 있는 예
다음 예제에서는 문자열 목록의 origin_state_name
필드 값을 평가합니다. 문자열 유형 입력을 비교할 때는 대소문자를 구분하는 in
비교만 지원합니다.
in(origin_state_name,["Georgia", "Ohio", "Texas"])
다음은 주어진 필드 값의 예입니다.
"Washington" "ohio" "Texas"
이러한 필드 값의 경우 다음 값이 반환됩니다.
false false true
포함된 값 중 하나는 “Texas”뿐이므로 세 번째 반환 값은 true입니다.
다음 예제에서는 문자열 목록의 fl_date
필드 값을 평가합니다. 유형을 일치시키기 위해 날짜 유형을 문자열 유형으로 변환하는 데 toString
이 사용됩니다.
in(toString(fl_date),["2015-05-14","2015-05-15","2015-05-16"])
리스트의 리터럴과 비교할 표현식 인수에는 리터럴과 NULL 값이 지원됩니다. 다음 두 예제 모두 TRUE 값의 새 열을 생성합니다.
in("Washington",["Washington","Ohio"])
in(NULL,[NULL,"Ohio"])
예: 다중 값 파라미터를 사용하는 예
작성자가 모든 상태 이름 목록이 포함된 다중값 파라미터를 만든다고 가정해 보겠습니다. 그런 다음 작성자는 독자가 목록에서 값을 선택할 수 있도록 콘트롤을 추가합니다.
그런 다음 판독기는 파라미터의 드롭다운 목록 컨트롤에서 “Georgia”, “Ohio”, “Texas”의 세 가지 값을 선택합니다. 이 경우 다음 표현식은 첫 번째 예와 동일합니다. 첫 번째 예에서는 이 세 개의 주 이름을 리터럴 목록으로 전달하여 original_state_name
필드와 비교합니다.
in (
origin_state_name
, ${stateName MultivalueParameter}
)
ifelse
을(를) 사용한 예
in
은(는) 다른 함수에 부울 값으로 중첩될 수 있습니다. 한 가지 예를 들어 작성자는 목록에 있는 모든 식을 평가하고in
및 ifelse
을(를) 사용하여 원하는 값을 반환할 수 있습니다. 다음 예제에서는 dest_state_name
항공편이 미국의 특정 주 목록에 속하는지 평가하고 비교 결과를 기반으로 여러 주의 카테고리를 반환합니다.
ifelse(in(dest_state_name,["Washington", "Oregon","California"]), "WestCoastUSState", "Other US State")