The following operators can be used in SELECT and WHERE clauses.
AND operatorReturns a Boolean
result. Performs a logical AND operation. Returns true if left and right operands are true. Otherwise, returns false. Boolean
operands or case insensitive "true" or "false" string operands are required.
Syntax:
.expression
AND expression
Boolean
Boolean
Boolean
. True if both operands are true. Otherwise, false. String
/Boolean
String
/Boolean
If all strings are "true" or "false" (case insensitive), they are converted to Boolean
and processed normally as boolean
AND boolean
. Other value Other value Undefined
. OR operator
Returns a Boolean
result. Performs a logical OR operation. Returns true if either the left or the right operands are true. Otherwise, returns false. Boolean
operands or case insensitive "true" or "false" string operands are required.
Syntax:
.expression
OR expression
Boolean
Boolean
Boolean
. True if either operand is true. Otherwise, false. String
/Boolean
String
/Boolean
If all strings are "true" or "false" (case insensitive), they are converted to Booleans and processed normally as boolean
OR boolean
. Other value Other value Undefined
. NOT operator
Returns a Boolean
result. Performs a logical NOT operation. Returns true if the operand is false. Otherwise, returns true. A Boolean
operand or case insensitive "true" or "false" string operand is required.
Syntax: NOT
.expression
Boolean
Boolean
. True if operand is false. Otherwise, true. String
If string is "true" or "false" (case insensitive), it is converted to the corresponding Boolean value, and the opposite value is returned. Other value Undefined
. IN operator
Returns a Boolean
result. You can use the IN operator in a WHERE clause to check if a value matches any value in an array. It returns true if the match is found, and false otherwise.
Syntax:
.expression
IN expression
Int
/Decimal
/String
/Array
/Object
Array
True if the Integer
/Decimal
/String
/Array
/Object
element is found in the array. Otherwise, false.
Example:
SQL: "select * from 'a/b' where 3 in arr"
JSON: {"arr":[1, 2, 3, "three", 5.7, null]}
In this example, the condition clause where 3 in arr
will evaluate to true because 3 is present in the array named arr
. Hence in the SQL statement, select * from 'a/b'
will execute. This example also shows that the array can be heterogeneous.
Returns a Boolean
result. You can use the EXISTS operator in a conditional clause to test for the existence of elements in a subquery. It returns true if the subquery returns one or more elements and false if the subquery returns no elements.
Syntax:
.expression
Example:
SQL: "select * from 'a/b' where exists (select * from arr as a where a = 3)"
JSON: {"arr":[1, 2, 3]}
In this example, the condition clause where exists (select * from arr as a where a = 3)
will evaluate to true because 3 is present in the array named arr
. Hence in the SQL statement, select * from 'a/b'
will execute.
Example:
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}]}
In this example, the condition clause where exists (select * from e as e where foo = 2)
will evaluate to true because the array e
within the JSON object contains the object {"foo":2}
. Hence in the SQL statement, select * from 'a/b'
will execute.
Returns a Boolean
result. Returns true if the left operand is greater than the right operand. Both operands are converted to a Decimal
, and then compared.
Syntax:
.expression
> expression
Int
/Decimal
Int
/Decimal
Boolean
. True if the left operand is greater than the right operand. Otherwise, false. String
/Int
/Decimal
String
/Int
/Decimal
If all strings can be converted to Decimal
, then Boolean
. Returns true if the left operand is greater than the right operand. Otherwise, false. Other value Undefined
. Undefined
. >= operator
Returns a Boolean
result. Returns true if the left operand is greater than or equal to the right operand. Both operands are converted to a Decimal
, and then compared.
Syntax:
.expression
>= expression
Int
/Decimal
Int
/Decimal
Boolean
. True if the left operand is greater than or equal to the right operand. Otherwise, false. String
/Int
/Decimal
String
/Int
/Decimal
If all strings can be converted to Decimal
, then Boolean
. Returns true if the left operand is greater than or equal to the right operand. Otherwise, false. Other value Undefined
. Undefined
. < operator
Returns a Boolean
result. Returns true if the left operand is less than the right operand. Both operands are converted to a Decimal
, and then compared.
Syntax:
.expression
< expression
Int
/Decimal
Int
/Decimal
Boolean
. True if the left operand is less than the right operand. Otherwise, false. String
/Int
/Decimal
String
/Int
/Decimal
If all strings can be converted to Decimal
, then Boolean
. Returns true if the left operand is less than the right operand. Otherwise, false. Other value Undefined
Undefined
<= operator
Returns a Boolean
result. Returns true if the left operand is less than or equal to the right operand. Both operands are converted to a Decimal
, and then compared.
Syntax:
.expression
<= expression
Int
/Decimal
Int
/Decimal
Boolean
. True if the left operand is less than or equal to the right operand. Otherwise, false. String
/Int
/Decimal
String
/Int
/Decimal
If all strings can be converted to Decimal
, then Boolean
. Returns true if the left operand is less than or equal to the right operand. Otherwise, false. Other value Undefined
Undefined
<> operator
Returns a Boolean
result. Returns true if both left and right operands are not equal. Otherwise, returns false.
Syntax:
.expression
<> expression
Int
Int
True if left operand is not equal to right operand. Otherwise, false. Decimal
Decimal
True if left operand is not equal to right operand. Otherwise, false.Int
is converted to Decimal
before being compared. String
String
True if left operand is not equal to right operand. Otherwise, false. Array Array True if the items in each operand are not equal and not in the same order. Otherwise, false Object Object True if the keys and values of each operand are not equal. Otherwise, false. The order of keys/values is unimportant. Null Null False. Any value Undefined
Undefined. Undefined
Any value Undefined. Mismatched type Mismatched type True. = operator
Returns a Boolean
result. Returns true if both left and right operands are equal. Otherwise, returns false.
Syntax:
.expression
= expression
Int
Int
True if left operand is equal to right operand. Otherwise, false. Decimal
Decimal
True if left operand is equal to right operand. Otherwise, false.Int
is converted to Decimal
before being compared. String
String
True if left operand is equal to right operand. Otherwise, false. Array Array True if the items in each operand are equal and in the same order. Otherwise, false. Object Object True if the keys and values of each operand are equal. Otherwise, false. The order of keys/values is unimportant. Any value Undefined
Undefined
. Undefined
Any value Undefined
. Mismatched type Mismatched type False. + operator
The "+" is an overloaded operator. It can be used for string concatenation or addition.
Syntax:
.expression
+ expression
String
Any value Converts the right operand to a string and concatenates it to the end of the left operand. Any value String
Converts the left operand to a string and concatenates the right operand to the end of the converted left operand. Int
Int
Int
value. Adds operands together. Int
/Decimal
Int
/Decimal
Decimal
value. Adds operands together. Other value Other value Undefined
. - operator
Subtracts the right operand from the left operand.
Syntax:
.expression
- expression
Int
Int
Int
value. Subtracts right operand from left operand. Int
/Decimal
Int
/Decimal
Decimal
value. Subtracts right operand from left operand. String
/Int
/Decimal
String
/Int
/Decimal
If all strings convert to decimals correctly, a Decimal
value is returned. Subtracts right operand from left operand. Otherwise, returns Undefined
. Other value Other value Undefined
. Other value Other value Undefined
. * operator
Multiplies the left operand by the right operand.
Syntax:
.expression
* expression
Int
Int
Int
value. Multiplies the left operand by the right operand. Int
/Decimal
Int
/Decimal
Decimal
value. Multiplies the left operand by the right operand. String
/Int
/Decimal
String
/Int
/Decimal
If all strings convert to decimals correctly, a Decimal
value is returned. Multiplies the left operand by the right operand. Otherwise, returns Undefined
. Other value Other value Undefined
. / operator
Divides the left operand by the right operand.
Syntax:
.expression
/ expression
Int
Int
Int
value. Divides the left operand by the right operand. Int
/Decimal
Int
/Decimal
Decimal
value. Divides the left operand by the right operand. String
/Int
/Decimal
String
/Int
/Decimal
If all strings convert to decimals correctly, a Decimal
value is returned. Divides the left operand by the right operand. Otherwise, returns Undefined
. Other value Other value Undefined
. % operator
Returns the remainder from dividing the left operand by the right operand.
Syntax:
.expression
% expression
Int
Int
Int
value. Returns the remainder from dividing the left operand by the right operand. String
/Int
/Decimal
String
/Int
/Decimal
If all strings convert to decimals correctly, a Decimal
value is returned. Returns the remainder from dividing the left operand by the right operand. Otherwise, Undefined
. Other value Other value Undefined
.
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4