+Addition
> SELECT 1 + 2; +---------------------+ | Int64(1) + Int64(2) | +---------------------+ | 3 | +---------------------+
-Subtraction
> SELECT 4 - 3; +---------------------+ | Int64(4) - Int64(3) | +---------------------+ | 1 | +---------------------+
*Multiplication
> SELECT 2 * 3; +---------------------+ | Int64(2) * Int64(3) | +---------------------+ | 6 | +---------------------+
/Division (integer division truncates toward zero)
> SELECT 8 / 4; +---------------------+ | Int64(8) / Int64(4) | +---------------------+ | 2 | +---------------------+
%Modulo (remainder)
> SELECT 7 % 3; +---------------------+ | Int64(7) % Int64(3) | +---------------------+ | 1 | +---------------------+
=Equal
> SELECT 1 = 1; +---------------------+ | Int64(1) = Int64(1) | +---------------------+ | true | +---------------------+
!=Not Equal
> SELECT 1 != 2; +----------------------+ | Int64(1) != Int64(2) | +----------------------+ | true | +----------------------+
<Less Than
> SELECT 3 < 4; +---------------------+ | Int64(3) < Int64(4) | +---------------------+ | true | +---------------------+
<=Less Than or Equal To
> SELECT 3 <= 3; +----------------------+ | Int64(3) <= Int64(3) | +----------------------+ | true | +----------------------+
>Greater Than
> SELECT 6 > 5; +---------------------+ | Int64(6) > Int64(5) | +---------------------+ | true | +---------------------+
>=Greater Than or Equal To
> SELECT 5 >= 5; +----------------------+ | Int64(5) >= Int64(5) | +----------------------+ | true | +----------------------+
IS DISTINCT FROMGuarantees the result of a comparison is true or false and not an empty set
> SELECT 0 IS DISTINCT FROM NULL; +--------------------------------+ | Int64(0) IS DISTINCT FROM NULL | +--------------------------------+ | true | +--------------------------------+
IS NOT DISTINCT FROMThe negation of IS DISTINCT FROM
> SELECT NULL IS NOT DISTINCT FROM NULL; +--------------------------------+ | NULL IS NOT DISTINCT FROM NULL | +--------------------------------+ | true | +--------------------------------+
~Regex Match
> SELECT 'datafusion' ~ '^datafusion(-cli)*'; +-------------------------------------------------+ | Utf8("datafusion") ~ Utf8("^datafusion(-cli)*") | +-------------------------------------------------+ | true | +-------------------------------------------------+
~*Regex Case-Insensitive Match
> SELECT 'datafusion' ~* '^DATAFUSION(-cli)*'; +--------------------------------------------------+ | Utf8("datafusion") ~* Utf8("^DATAFUSION(-cli)*") | +--------------------------------------------------+ | true | +--------------------------------------------------+
!~Not Regex Match
> SELECT 'datafusion' !~ '^DATAFUSION(-cli)*'; +--------------------------------------------------+ | Utf8("datafusion") !~ Utf8("^DATAFUSION(-cli)*") | +--------------------------------------------------+ | true | +--------------------------------------------------+
!~*Not Regex Case-Insensitive Match
> SELECT 'datafusion' !~* '^DATAFUSION(-cli)+'; +---------------------------------------------------+ | Utf8("datafusion") !~* Utf8("^DATAFUSION(-cli)+") | +---------------------------------------------------+ | true | +---------------------------------------------------+
ANDLogical And
> SELECT true AND true; +---------------------------------+ | Boolean(true) AND Boolean(true) | +---------------------------------+ | true | +---------------------------------+
ORLogical Or
> SELECT false OR true; +---------------------------------+ | Boolean(false) OR Boolean(true) | +---------------------------------+ | true | +---------------------------------+
&Bitwise And
> SELECT 5 & 3; +---------------------+ | Int64(5) & Int64(3) | +---------------------+ | 1 | +---------------------+
|Bitwise Or
> SELECT 5 | 3; +---------------------+ | Int64(5) | Int64(3) | +---------------------+ | 7 | +---------------------+
#Bitwise Xor (interchangeable with ^)
> SELECT 5 # 3; +---------------------+ | Int64(5) # Int64(3) | +---------------------+ | 6 | +---------------------+
>>Bitwise Shift Right
> SELECT 5 >> 3; +----------------------+ | Int64(5) >> Int64(3) | +----------------------+ | 0 | +----------------------+
<<Bitwise Shift Left
> SELECT 5 << 3; +----------------------+ | Int64(5) << Int64(3) | +----------------------+ | 40 | +----------------------+
||String Concatenation
> SELECT 'Hello, ' || 'DataFusion!'; +----------------------------------------+ | Utf8("Hello, ") || Utf8("DataFusion!") | +----------------------------------------+ | Hello, DataFusion! | +----------------------------------------+
@>Array Contains
> SELECT make_array(1,2,3) @> make_array(1,3); +-------------------------------------------------------------------------+ | make_array(Int64(1),Int64(2),Int64(3)) @> make_array(Int64(1),Int64(3)) | +-------------------------------------------------------------------------+ | true | +-------------------------------------------------------------------------+
<@Array Is Contained By
> SELECT make_array(1,3) <@ make_array(1,2,3); +-------------------------------------------------------------------------+ | make_array(Int64(1),Int64(3)) <@ make_array(Int64(1),Int64(2),Int64(3)) | +-------------------------------------------------------------------------+ | true | +-------------------------------------------------------------------------+