기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.
WHERE 절
WHERE 절은 규칙에서 지정된 작업이 수행되었는지 여부를 확인합니다. WHERE 절이 true로 평가될 경우 규칙 작업이 수행됩니다. 그렇지 않으면 규칙 작업이 수행되지 않습니다.
WHERE 절은 데이터 타입, , 연산자, 함수, 리터럴Case 문, JSON 확장, 변수 및를 지원합니다중첩된 객체 쿼리.
예:
topic/subtopic에 게시된 수신 페이로드: {"color":"red",
"temperature":40}
SQL: SELECT color AS my_color FROM 'topic/subtopic' WHERE temperature > 50
AND color <> 'red'.
이 경우 규칙이 트리거되지만 규칙에서 지정된 작업은 수행되지 않습니다. 송신 페이로드가 없습니다.
WHERE 절에서 함수 및 연산자를 사용할 수 있습니다. 하지만 SELECT 절의 AS 키워드를 사용하여 생성된 별칭은 참조할 수 없습니다. SELECT 절 평가 여부를 결정하기 위해 WHERE 절이 먼저 평가됩니다.
비 JSON 페이로드 예제:
'topic/subtopic'에 게시된 들어오는 비 JSON 페이로드: '80'
SQL: `SELECT decode(encode(*, 'base64'), 'base64') AS value FROM 'topic/subtopic'
WHERE decode(encode(*, 'base64'), 'base64') > 50
이 경우 규칙이 트리거되고 규칙에서 지정된 작업이 수행됩니다. 나가는 페이로드는 SELECT 절에 의해 JSON 페이로드 {"value":80}으로 변환됩니다.