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
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 . |
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
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 . |
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
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
Operando esquerdo | Operando direito | Saída |
---|---|---|
Int /Decimal /String /Array /Object |
Array |
Verdadeiro se o Object elemento Integer Decimal String Array ////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
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
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
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
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
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
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
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
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
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
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
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 . |