Operadores - AWS IoT Core

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

Operadores

Os operadores a seguir podem ser usados nas cláusulas SELECT e WHERE.

Operador AND

Gera um resultado Boolean. Realiza uma operação E lógica. Retornará verdadeiro se os operandos esquerdo e direito forem verdadeiros. Caso contrário, retorna false. Os operandos Boolean ou operandos de string "true" ou "false" que não diferenciam letras maiúsculas de minúsculas são necessários.

Sintaxe: expression AND expression.

Operador AND
Operando esquerdo Operando direito Saída
Boolean Boolean Boolean. Verdadeiro se ambos os operandos forem verdadeiros. Caso contrário, falso.
String/Boolean String/Boolean Se todas as strings forem "true" ou "false" (não diferencia letras maiúsculas de minúsculas), elas serão convertidas em Boolean e processadas normalmente como boolean AND boolean.
Outros valores Outros valores Undefined.

Operador OR

Gera um resultado Boolean. Executa uma operação OU lógica. Retornará verdadeiro se um dos operandos esquerdo ou direito for verdadeiro. Caso contrário, retorna false. Os operandos Boolean ou operandos de string "true" ou "false" que não diferenciam letras maiúsculas de minúsculas são necessários.

Sintaxe: expression OR expression.

Operador OR
Operando esquerdo Operando direito Saída
Boolean Boolean Boolean. Verdadeiro se um dos operandos for verdadeiro. Caso contrário, falso.
String/Boolean String/Boolean Se todas as strings forem "true" ou "false" (não diferencia letras maiúsculas de minúsculas), elas serão convertidas em booleanos e processadas normalmente como boolean OR boolean.
Outros valores Outros valores Undefined.

Operador NOT

Gera um resultado Boolean. Realiza uma operação NÃO lógica. Retornará verdadeiro se o operando for falso. Caso contrário, retornará verdadeiro. Um operando Boolean ou operando de string "true" ou "false" que não diferencia letras maiúsculas de minúsculas é necessário.

Sintaxe: NOT expression.

Operador NOT
Operando Saída
Boolean Boolean. Verdadeiro se o operando for falso. Caso contrário, verdadeiro.
String Se a string for "true" ou "false" (não diferencia letras maiúsculas de minúsculas), ela será convertida no valor booliano correspondente, e o valor oposto será gerado.
Outros valores Undefined.

Operador IN

Gera um resultado Boolean. Você pode usar o operador IN em uma cláusula WHERE para verificar se um valor corresponde a algum valor em uma matriz. Ele retorna verdadeiro se a correspondência for encontrada e falso caso contrário.

Sintaxe: expression IN expression.

Operador IN
Operando esquerdo Operando direito Saída
Int/Decimal/String/Array/Object Array Verdadeiro se o Object elemento Integer Decimal StringArray////for encontrado na matriz. Caso contrário, falso.

Exemplo:

SQL: "select * from 'a/b' where 3 in arr" JSON: {"arr":[1, 2, 3, "three", 5.7, null]}

Neste exemplo, a cláusula de condição where 3 in arr será avaliada como verdadeira porque 3 está presente na matriz chamadaarr. Portanto, na instrução SQL, select * from 'a/b' será executado. Esse exemplo também mostra que a matriz pode ser heterogênea.

Operador EXISTS

Gera um resultado Boolean. Você pode usar o operador EXISTS em uma cláusula condicional para testar a existência de elementos em uma subconsulta. Ela retornará verdadeiro se a subconsulta retornar um ou mais elementos e falso se a subconsulta não retornar nenhum elemento.

Sintaxe: expression.

Exemplo:

SQL: "select * from 'a/b' where exists (select * from arr as a where a = 3)" JSON: {"arr":[1, 2, 3]}

Neste exemplo, a cláusula de condição where exists (select * from arr as a where a = 3) será avaliada como verdadeira porque 3 está presente na matriz chamadaarr. Portanto, na instrução SQL, select * from 'a/b' será executado.

Exemplo:

SQL: select * from 'a/b' where exists (select * from e as e where foo = 2) JSON: {"foo":4,"bar":5,"e":[{"foo":1},{"foo":2}]}

Neste exemplo, a cláusula de condição where exists (select * from e as e where foo = 2) será avaliada como verdadeira porque a matriz e dentro do objeto JSON contém o objeto. {"foo":2} Portanto, na instrução SQL, select * from 'a/b' será executado.

> operador

Gera um resultado Boolean. Verdadeiro se o operando esquerdo for superior ao operando direito. Os dois operandos são convertidos em um Decimal e depois comparados.

Sintaxe: expression > expression.

> operador
Operando esquerdo Operando direito Saída
Int/Decimal Int/Decimal Boolean. Verdadeiro se o operando esquerdo for superior ao operando direito. Caso contrário, falso.
String/Int/Decimal String/Int/Decimal Se todas as strings puderem ser convertidas em Decimal, então Boolean. Verdadeiro se o operando esquerdo for superior ao operando direito. Caso contrário, falso.
Outros valores Undefined. Undefined.

>= operador

Gera um resultado Boolean. Verdadeiro se o operando esquerdo for superior ou igual ao operando direito. Os dois operandos são convertidos em um Decimal e depois comparados.

Sintaxe: expression >= expression.

>= operador
Operando esquerdo Operando direito Saída
Int/Decimal Int/Decimal Boolean. Verdadeiro se o operando esquerdo for igual ou superior ao operando direito. Caso contrário, falso.
String/Int/Decimal String/Int/Decimal Se todas as strings puderem ser convertidas em Decimal, então Boolean. Verdadeiro se o operando esquerdo for superior ou igual ao operando direito. Caso contrário, falso.
Outros valores Undefined. Undefined.

< operador

Gera um resultado Boolean. Verdadeiro se o operando esquerdo for inferior ao operando direito. Os dois operandos são convertidos em um Decimal e depois comparados.

Sintaxe: expression < expression.

< operador
Operando esquerdo Operando direito Saída
Int/Decimal Int/Decimal Boolean. Verdadeiro se o operando esquerdo for inferior ao operando direito. Caso contrário, falso.
String/Int/Decimal String/Int/Decimal Se todas as strings puderem ser convertidas em Decimal, então Boolean. Verdadeiro se o operando esquerdo for inferior ao operando direito. Caso contrário, falso.
Outros valores Undefined Undefined

<= operador

Gera um resultado Boolean. Verdadeiro se o operando esquerdo for inferior ou igual ao operando direito. Os dois operandos são convertidos em um Decimal e depois comparados.

Syntaxe: expression <= expression.

<= operador
Operando esquerdo Operando direito Saída
Int/Decimal Int/Decimal Boolean. Verdadeiro se o operando esquerdo for igual ou inferior ao operando direito. Caso contrário, falso.
String/Int/Decimal String/Int/Decimal Se todas as strings puderem ser convertidas em Decimal, então Boolean. Verdadeiro se o operando esquerdo for inferior ou igual ao operando direito. Caso contrário, falso.
Outros valores Undefined Undefined

<> operador

Gera um resultado Boolean. Retornará verdadeiro se os operandos esquerdo e direito forem diferentes. Caso contrário, retornará falso.

Sintaxe: expression <> expression.

<> operador
Operando esquerdo Operando direito Saída
Int Int Verdadeiro se o operando esquerdo não for igual ao operando direito. Caso contrário, falso.
Decimal Decimal Verdadeiro se o operando esquerdo não for igual ao operando direito. Caso contrário, falso. Int é convertido em Decimal antes de ser comparado.
String String Verdadeiro se o operando esquerdo não for igual ao operando direito. Caso contrário, falso.
Array Array Verdadeiro se os itens em cada operando não forem iguais e não estiverem na mesma ordem. Caso contrário, falso
Objeto Objeto Verdadeiro se as chaves e os valores de cada operando não forem iguais. Caso contrário, falso. A ordem das chaves/valores é irrelevante.
Null Null Falso.
Qualquer valor Undefined Indefinido.
Undefined Qualquer valor Indefinido.
Tipo não correspondente Tipo não correspondente Verdadeiro.

= operador

Gera um resultado Boolean. Retornará verdadeiro se os operandos esquerdo e direito forem iguais. Caso contrário, retornará falso.

Sintaxe: expression = expression.

= operador
Operando esquerdo Operando direito Saída
Int Int Verdadeiro se o operando esquerdo for igual ao operando direito. Caso contrário, falso.
Decimal Decimal Verdadeiro se o operando esquerdo for igual ao operando direito. Caso contrário, falso. Int é convertido em Decimal antes de ser comparado.
String String Verdadeiro se o operando esquerdo for igual ao operando direito. Caso contrário, falso.
Array Array Verdadeiro se os itens em cada operando forem iguais e estiverem na mesma ordem. Caso contrário, falso.
Objeto Objeto Verdadeiro se as chaves e os valores de cada operando forem iguais. Caso contrário, falso. A ordem das chaves/valores é irrelevante.
Qualquer valor Undefined Undefined.
Undefined Qualquer valor Undefined.
Tipo não correspondente Tipo não correspondente Falso.

+ operador

" +" é um operador sobrecarregado. Ele pode ser usado para concatenação ou adição de string.

Sintaxe: expression + expression.

+ operador
Operando esquerdo Operando direito Saída
String Qualquer valor Converte o operando direito em uma string e concatena-o ao final do operando esquerdo.
Qualquer valor String Converte o operando esquerdo em uma string e concatena o operando direito ao final do operando esquerdo convertido.
Int Int Int value. Adiciona operandos juntos.
Int/Decimal Int/Decimal Decimal value. Adiciona operandos juntos.
Outros valores Outros valores Undefined.

- operador

Subtrai o operando direito do operando esquerdo.

Sintaxe: expression - expression.

- operador
Operando esquerdo Operando direito Saída
Int Int Int value. Subtrai o operando direito do operando esquerdo.
Int/Decimal Int/Decimal Decimal value. Subtrai o operando direito do operando esquerdo.
String/Int/Decimal String/Int/Decimal Se todas as strings forem convertidas em decimais corretamente, um valor Decimal será gerado. Subtrai o operando direito do operando esquerdo. Caso contrário, gera Undefined.
Outros valores Outros valores Undefined.
Outros valores Outros valores Undefined.

* operador

Multiplica o operando esquerdo pelo operando direito.

Sintaxe: expression * expression.

* operador
Operando esquerdo Operando direito Saída
Int Int Int value. Multiplica o operando esquerdo pelo operando direito.
Int/Decimal Int/Decimal Decimal value. Multiplica o operando esquerdo pelo operando direito.
String/Int/Decimal String/Int/Decimal Se todas as strings forem convertidas em decimais corretamente, um valor Decimal será gerado. Multiplica o operando esquerdo pelo operando direito. Caso contrário, gera Undefined.
Outros valores Outros valores Undefined.

/ operador

Divide o operando esquerdo pelo operando direito.

Sintaxe: expression / expression.

/ operador
Operando esquerdo Operando direito Saída
Int Int Int value. Divide o operando esquerdo pelo operando direito.
Int/Decimal Int/Decimal Decimal value. Divide o operando esquerdo pelo operando direito.
String/Int/Decimal String/Int/Decimal Se todas as strings forem convertidas em decimais corretamente, um valor Decimal será gerado. Divide o operando esquerdo pelo operando direito. Caso contrário, gera Undefined.
Outros valores Outros valores Undefined.

% operador

Gera o restante da divisão do operando esquerdo pelo operando direito.

Sintaxe: expression % expression.

% operador
Operando esquerdo Operando direito Saída
Int Int Int value. Gera o restante da divisão do operando esquerdo pelo operando direito.
String/Int/Decimal String/Int/Decimal Se todas as strings forem convertidas em decimais corretamente, um valor Decimal será gerado. Gera o restante da divisão do operando esquerdo pelo operando direito. Caso contrário, Undefined.
Outros valores Outros valores Undefined.