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
| 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 . |
| 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
| 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 . |
| 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
| 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 true si hay coincidencia y false en caso contrario.
Sintaxis:
.expression IN
expression
| Operando izquierdo | Operando derecho | Salida |
|---|---|---|
Int/Decimal/String/Array/Object |
Array |
Verdadero si el elemento Integer/Decimal/String/Array/Object está en la raíz. 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 el número 3 está presente en la matriz denominada arr. Por lo tanto, en la instrucción SQL, se ejecutará select * from 'a/b'. 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 el número 3 está presente en la matriz denominada arr. Por lo tanto, en la instrucción SQL, se ejecutará select * from 'a/b'.
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 instrucción SQL, se ejecutará select * from 'a/b'.
> 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
| 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
| 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
| 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
| 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
| 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 no keys/values es importante. |
| 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
| 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 no keys/values es importante. |
| 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
| 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 de Int. Agrega ambos operandos. |
Int/Decimal |
Int/Decimal |
valor de Decimal. Agrega ambos operandos. |
| Otro valor | Otro valor | Undefined. |
Operador -
Resta el operando derecho del operando izquierdo.
Sintaxis:
.expression -
expression
| Operando izquierdo | Operando derecho | Salida |
|---|---|---|
Int |
Int |
valor de Int. Resta el operando derecho del operando izquierdo. |
Int/Decimal |
Int/Decimal |
valor de 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
| Operando izquierdo | Operando derecho | Salida |
|---|---|---|
Int |
Int |
valor de Int. Multiplica el operando izquierdo por el operando derecho. |
Int/Decimal |
Int/Decimal |
valor de 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
| Operando izquierdo | Operando derecho | Salida |
|---|---|---|
Int |
Int |
valor de Int. Divide el operando izquierdo por el operando derecho. |
Int/Decimal |
Int/Decimal |
valor de 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
| Operando izquierdo | Operando derecho | Salida |
|---|---|---|
Int |
Int |
valor de 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. |