Operadores - AWS IoT Core

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

Operadores

Los operadores siguientes se pueden utilizar en las cláusulas SELECT y WHERE.

Operador AND

Devuelve un resultado Boolean. Realiza una operación AND lógica. Devuelve el valor true si los operandos izquierdo y derecho son true. De lo contrario, devuelve el valor false. Se necesitan operandos de tipo Boolean u operandos de cadena "true" o "false" que no distingan entre mayúsculas y minúsculas.

Sintaxis: expression AND expression.

Operador AND
Operando izquierdo Operando derecho Salida
Boolean Boolean Boolean. True si ambos operandos son true. De lo contrario, devuelve false.
String/Boolean String/Boolean Si todas las cadenas son "true" o "false" (no se distingue entre mayúsculas y minúsculas), se convierten en valores de tipo Boolean y se procesan normalmente como boolean AND boolean.
Otro valor Otro valor Undefined.

Operador OR

Devuelve un resultado Boolean. Realiza una operación OR lógica. Devuelve el valor true si el operando izquierdo o el operando derecho es true. De lo contrario, devuelve el valor false. Se necesitan operandos de tipo Boolean u operandos de cadena "true" o "false" que no distingan entre mayúsculas y minúsculas.

Sintaxis: expression OR expression.

Operador OR
Operando izquierdo Operando derecho Salida
Boolean Boolean Boolean. True si uno de los operandos es true. De lo contrario, devuelve false.
String/Boolean String/Boolean Si todas las cadenas son "true" o "false" (no se distingue entre mayúsculas y minúsculas), se convierten en valores booleanos y se procesan normalmente como boolean OR boolean.
Otro valor Otro valor Undefined.

Operador NOT

Devuelve un resultado Boolean. Realiza una operación NOT lógica. Devuelve true si el operado es false. De lo contrario, devuelve true. Se necesita un operando Boolean o un operando de cadena "true" o "false" que no distinga entre mayúsculas y minúsculas.

Sintaxis: NOT expression.

Operador NOT
Operando Salida
Boolean Boolean. True si el operando es false. De lo contrario, devuelve true.
String Si la cadena es “true” o “false” (no distingue entre mayúsculas y minúsculas), se convierte en el valor booleano correspondiente y se devuelve el valor opuesto.
Otro valor Undefined.

Operador IN

Devuelve un resultado Boolean. Puede usar el operador IN en una cláusula WHERE para comprobar si un valor coincide con algún valor de una matriz. Devuelve verdadero si se encuentra la coincidencia y falso en caso contrario.

Sintaxis: expression IN expression.

Operador IN
Operando izquierdo Operando derecho Salida
Int/Decimal/String/Array/Object Array Es verdadero si el Object elemento Integer DecimalString/Array///se encuentra en la matriz. De lo contrario, devuelve false.

Ejemplo:

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

En este ejemplo, la cláusula de condición where 3 in arr se evaluará como verdadera porque 3 está presente en la matriz denominadaarr. Por lo tanto, en la sentencia SQL, select * from 'a/b' se ejecutará. Este ejemplo también muestra que la matriz puede ser heterogénea.

Operador EXISTS

Devuelve un resultado Boolean. Puede usar el operador EXISTS en una cláusula condicional para comprobar la existencia de elementos en una subconsulta. Devuelve verdadero si la subconsulta devuelve uno o más elementos y falso si no devuelve ningún elemento.

Sintaxis: expression.

Ejemplo:

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

En este ejemplo, la cláusula de condición where exists (select * from arr as a where a = 3) se evaluará como verdadera porque 3 está presente en la matriz denominada. arr Por lo tanto, en la sentencia SQL, select * from 'a/b' se ejecutará.

Ejemplo:

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}]}

En este ejemplo, la cláusula de condición where exists (select * from e as e where foo = 2) se evaluará como verdadera porque la matriz e del objeto JSON contiene el objeto{"foo":2}. Por lo tanto, en la sentencia SQL, select * from 'a/b' se ejecutará.

> operador

Devuelve un resultado Boolean. Devuelve el valor true si el operando izquierdo es superior al operando derecho. Los dos operandos se convierten en un valor Decimal y, a continuación, se comparan.

Sintaxis: expression > expression.

> operador
Operando izquierdo Operando derecho Salida
Int/Decimal Int/Decimal Boolean. Devuelve el valor true si el operando izquierdo es superior al operando derecho. De lo contrario, devuelve false.
String/Int/Decimal String/Int/Decimal Si todas las cadenas se pueden convertir en un valor Decimal y, a continuación, en un valor Boolean. Devuelve el valor true si el operando izquierdo es superior al operando derecho. De lo contrario, devuelve false.
Otro valor Undefined. Undefined.

>= operador

Devuelve un resultado Boolean. Devuelve el valor true si el operando izquierdo es superior o igual al operando derecho. Los dos operandos se convierten en un valor Decimal y, a continuación, se comparan.

Sintaxis: expression >= expression.

>= operador
Operando izquierdo Operando derecho Salida
Int/Decimal Int/Decimal Boolean. Devuelve el valor true si el operando izquierdo es superior o igual al operando derecho. De lo contrario, devuelve false.
String/Int/Decimal String/Int/Decimal Si todas las cadenas se pueden convertir en un valor Decimal y, a continuación, en un valor Boolean. Devuelve el valor true si el operando izquierdo es superior o igual al operando derecho. De lo contrario, devuelve false.
Otro valor Undefined. Undefined.

Operador <

Devuelve un resultado Boolean. Devuelve el valor true si el operando izquierdo es inferior al operando derecho. Los dos operandos se convierten en un valor Decimal y, a continuación, se comparan.

Sintaxis: expression < expression.

Operador <
Operando izquierdo Operando derecho Salida
Int/Decimal Int/Decimal Boolean. Devuelve el valor true si el operando izquierdo es inferior al operando derecho. De lo contrario, devuelve false.
String/Int/Decimal String/Int/Decimal Si todas las cadenas se pueden convertir en un valor Decimal y, a continuación, en un valor Boolean. Devuelve el valor true si el operando izquierdo es inferior al operando derecho. De lo contrario, devuelve false.
Otro valor Undefined Undefined

Operador <=

Devuelve un resultado Boolean. Devuelve el valor true si el operando izquierdo es inferior o igual al operando derecho. Los dos operandos se convierten en un valor Decimal y, a continuación, se comparan.

Sintaxis: expression <= expression.

Operador <=
Operando izquierdo Operando derecho Salida
Int/Decimal Int/Decimal Boolean. Devuelve el valor true si el operando izquierdo es inferior o igual al operando derecho. De lo contrario, devuelve false.
String/Int/Decimal String/Int/Decimal Si todas las cadenas se pueden convertir en un valor Decimal y, a continuación, en un valor Boolean. Devuelve el valor true si el operando izquierdo es inferior o igual al operando derecho. De lo contrario, devuelve false.
Otro valor Undefined Undefined

Operador <>

Devuelve un resultado Boolean. Devuelve el valor true si los operandos izquierdo y derecho no son iguales. De lo contrario, devuelve el valor false.

Sintaxis: expression <> expression.

Operador <>
Operando izquierdo Operando derecho Salida
Int Int True si el operando izquierdo no es igual al operando derecho. De lo contrario, devuelve false.
Decimal Decimal True si el operando izquierdo no es igual al operando derecho. De lo contrario, devuelve false. Int se convierte en un valor Decimal antes de la comparación.
String String True si el operando izquierdo no es igual al operando derecho. De lo contrario, devuelve false.
Matriz Matriz True si los elementos de cada operando no son iguales y no están en el mismo orden. De lo contrario, devuelve false.
Objeto Objeto True si las claves y los valores de cada operando no son iguales. De lo contrario, devuelve false. El orden de las claves y los valores no tiene importancia.
Nulo Nulo False.
Cualquier valor Undefined Sin definir.
Undefined Cualquier valor Sin definir.
Tipo no coincidente Tipo no coincidente True.

Operador =

Devuelve un resultado Boolean. Devuelve el valor true si los operandos izquierdo y derecho son iguales. De lo contrario, devuelve el valor false.

Sintaxis: expression = expression.

Operador =
Operando izquierdo Operando derecho Salida
Int Int True si el operando izquierdo es igual al operando derecho. De lo contrario, devuelve false.
Decimal Decimal True si el operando izquierdo es igual al operando derecho. De lo contrario, devuelve false. Int se convierte en un valor Decimal antes de la comparación.
String String True si el operando izquierdo es igual al operando derecho. De lo contrario, devuelve false.
Matriz Matriz True si los elementos de cada operando son iguales y están en el mismo orden. De lo contrario, devuelve false.
Objeto Objeto True si las claves y los valores de cada operando son iguales. De lo contrario, devuelve false. El orden de las claves y los valores no tiene importancia.
Cualquier valor Undefined Undefined.
Undefined Cualquier valor Undefined.
Tipo no coincidente Tipo no coincidente False.

Operador +

El símbolo "+" es un operador sobrecargado. Se puede utilizar para la concatenación o la adición de cadenas.

Sintaxis: expression + expression.

Operador +
Operando izquierdo Operando derecho Salida
String Cualquier valor Convierte el operando derecho en una cadena que concatena al final del operando izquierdo.
Cualquier valor String Convierte el operando izquierdo en una cadena y concatena el operando derecho al final del operando izquierdo convertido.
Int Int Valor Int. Agrega ambos operandos.
Int/Decimal Int/Decimal Valor Decimal. Agrega ambos operandos.
Otro valor Otro valor Undefined.

Operador -

Resta el operando derecho del operando izquierdo.

Sintaxis: expression - expression.

Operador -
Operando izquierdo Operando derecho Salida
Int Int Valor Int. Resta el operando derecho del operando izquierdo.
Int/Decimal Int/Decimal Valor Decimal. Resta el operando derecho del operando izquierdo.
String/Int/Decimal String/Int/Decimal Si todas las cadenas se convierten en decimales correctamente, se devuelve un valor Decimal. Resta el operando derecho del operando izquierdo. De lo contrario, devuelve Undefined.
Otro valor Otro valor Undefined.
Otro valor Otro valor Undefined.

Operador *

Multiplica el operando izquierdo por el operando derecho.

Sintaxis: expression * expression.

Operador *
Operando izquierdo Operando derecho Salida
Int Int Valor Int. Multiplica el operando izquierdo por el operando derecho.
Int/Decimal Int/Decimal Valor Decimal. Multiplica el operando izquierdo por el operando derecho.
String/Int/Decimal String/Int/Decimal Si todas las cadenas se convierten en decimales correctamente, se devuelve un valor Decimal. Multiplica el operando izquierdo por el operando derecho. De lo contrario, devuelve Undefined.
Otro valor Otro valor Undefined.

Operador /

Divide el operando izquierdo por el operando derecho.

Sintaxis: expression / expression.

Operador /
Operando izquierdo Operando derecho Salida
Int Int Valor Int. Divide el operando izquierdo por el operando derecho.
Int/Decimal Int/Decimal Valor Decimal. Divide el operando izquierdo por el operando derecho.
String/Int/Decimal String/Int/Decimal Si todas las cadenas se convierten en decimales correctamente, se devuelve un valor Decimal. Divide el operando izquierdo por el operando derecho. De lo contrario, devuelve Undefined.
Otro valor Otro valor Undefined.

Operador %

Devuelve el resto de la división del operando izquierdo por el operando derecho.

Sintaxis: expression % expression.

Operador %
Operando izquierdo Operando derecho Salida
Int Int Valor Int. Devuelve el resto de la división del operando izquierdo por el operando derecho.
String/Int/Decimal String/Int/Decimal Si todas las cadenas se convierten en decimales correctamente, se devuelve un valor Decimal. Devuelve el resto de la división del operando izquierdo por el operando derecho. De lo contrario, Undefined.
Otro valor Otro valor Undefined.