WHERE ON
SELECT 절의 관련 비즈니스 오브젝트(RBO)에서 필터링할 필드를 지정합니다. Workday는 조건식에서 먼저 괄호 안의 표현식을 평가합니다. 다음을 사용합니다.
AND
및 OR
논리 연산자를 사용하여 WQL(Workday 쿼리 언어)에서 조건식을 구분합니다.구문
WHERE ON relatedBusinessObject1 relatedBusinessObjectField1 = value1 AND relatedBusinessObjectField2 IN (instance1, instance2) OR relatedBusinessObjectField3 IN (inst_refId = referenceID) WHERE ON relatedBusinessObject2 relatedBusinessObjectField1 = value1
RBO 필드에서 중괄호 { } 표기법을 생략합니다.
인수
인수 | 설명 |
|---|---|
relatedBusinessObject1
| 결과를 필터링할 필드의 RBO입니다. |
relatedBusinessObjectfield1 , relatedBusinessObjectfield2 , ...relatedBusinessObjectfieldN
| 결과를 필터링할 관련 비즈니스 오브젝트의 필드 |
value1 , value2 , ...valueN
| 매칭할 필드의 값 |
instance1 , instance2 , ...instanceN
| 매칭할 필드 값의 Workday ID ID 형식이 유효하지 않은 쿼리는 실패합니다. |
inst_refId
| 조건식에 있는 필드의 참조 ID 유형입니다. |
referenceID
| 매칭할 필드 값의 참조 ID입니다. 큰따옴표를 사용하거나 사용하지 않고 참조 ID를 기준으로 필터링할 수 있습니다. 예를 들어 다음과 같습니다.
|
비교 연산자
연산자 | 필드 데이터 유형 호환성 | 설명 |
|---|---|---|
= | 부울 날짜 숫자 텍스트 | 같음 |
> | 날짜 숫자 | 보다 큼 |
>= | 날짜 숫자 | 크거나 같음 |
< | 날짜 숫자 | 보다 작음 |
<= | 날짜 숫자 | 작거나 같음 |
!= | 부울 날짜 숫자 텍스트 | 같지 않음 |
contains | 텍스트 | 비교 값은 필드 값의 하위 세트입니다. 대소문자를 구분하지 않습니다. 예를 들어 다음과 같습니다.
카테고리에 'AT'가 포함됩니다. |
not contains | 텍스트 | 비교 값이 필드 값의 하위 세트가 아닙니다. 대소문자를 구분하지 않습니다. 예를 들어 다음과 같습니다.
고양이에 개가 포함되어 있지 않습니다. |
endswith | 텍스트 | 비교 값이 필드 값의 하위 세트입니다. 필드 값의 마지막 문자가 비교 값의 마지막 문자와 일치합니다. 대소문자를 구분하지 않습니다. 예를 들어 다음과 같습니다.
CA는 'AT'로 끝납니다. |
in | 인스턴스 텍스트 | 이 필드는 조건에 대해 하나 이상의 가능한 값과 일치합니다. |
is empty | 부울 날짜 인스턴스 숫자 텍스트 | 필드에 값이 없습니다. |
is not empty | 부울 날짜 인스턴스 숫자 텍스트 | 필드에 값이 있습니다. |
not in | 인스턴스 텍스트 | 필드가 조건에 대해 가능한 값과 일치하지 않습니다. |
startswith | 텍스트 | 비교 값은 필드 값의 하위 세트입니다. 필드 값의 첫 번째 문자가 비교 값의 첫 번째 문자와 일치합니다. 대소문자를 구분하지 않습니다. 예를 들어 다음과 같습니다.
Cat은 CA로 시작합니다. |
날짜 및 시간 형식
WQL은 UTC(협정 세계시) 또는 PST(태평양 표준시)의 날짜 및 시간을 지원합니다.
날짜 및 시간 | 형식 |
|---|---|
날짜 | YYYY-MM-DD |
시간(24시간제) | HH:MM:SS |
날짜/시간(시간대 포함) | PST: YYYY-MM-DD HH:MM:SS
UTC: YYYY-MM-DD HH:MM:SSZ |
예
allWorkers
데이터 소스 및위치
RBO에서 다음과 같은 근무자의 결과를 반환합니다.
- 50세 이상
- 23시간 이상 근무
SELECT worker, location{addresses}, age FROM allWorkers WHERE ON location addresses is NOT EMPTY WHERE defaultWeeklyHours > 23 AND age > 50
allWorkers
데이터 소스와위치
및 다음과 같은 근무자의가족
RBO에서 결과를 반환합니다.
- 급여는 Workday ID로 지정된 통화입니다.
- 가족의 성은 문자 N으로 시작합니다.
- 연령이 50세 이상입니다.
- 위치가 2개의 특정 도시에 있습니다.
SELECT worker, location{addresses}, dependents{legalName_LastName}, age FROM allWorkers WHERE ON location addresses is NOT EMPTY AND currency in (9e996ffdd3e14da0ba7275d5400bafd4) WHERE ON dependents legalName_LastName startswith "N" WHERE age > 50 OR location in (043e71ed793b1054de6213435945000c, d13a7c46a06443c4a33c09afbdf72c73)
제한사항
WHERE ON 절은 WHERE 절 앞에 와야 합니다.