Download PDFSubmit Feedback

  • Order of Precedence
  • Supported Operators

Relational Operators

Operators are symbols or keywords used to perform specific operations.

Order of Precedence

This table lists all KWDB operators from highest to lowest precedence, which determines the order in which they are evaluated within a statement. Operators with the same precedence are left associative. This means that those operators are grouped together starting from the left and moving right.

Order of PrecedenceOperatorNameOperator Arity
1.Member field access operatorbinary
2::Type castbinary
3-Unary minusunary (prefix)
3~Bitwise notunary (prefix)
4^Exponentiationbinary
5*Multiplicationbinary
5/Divisionbinary
5//Floor divisionbinary
5%Modulobinary
6+Additionbinary
6-Subtractionbinary
7<<Bitwise left-shiftbinary
7>>Bitwise right-shiftbinary
8&Bitwise ANDbinary
9#Bitwise XORbinary
10|Bitwise ORbinary
11||Concatenationbinary
11< ANY, SOME, ALLMulti-valued "less than" comparisonbinary
11> ANY, SOME, ALLMulti-valued "greater than" comparisonbinary
11= ANY, SOME, ALLMulti-valued "equal" comparisonbinary
11<= ANY, SOME, ALLMulti-valued "less than or equal" comparisonbinary
11>= ANY, SOME, ALLMulti-valued "greater than or equal" comparisonbinary
11<> ANY / != ANY, <> SOME / != SOME, <> ALL / != ALLMulti-valued "not equal" comparisonbinary
11[NOT] LIKE ANY, [NOT] LIKE SOME, [NOT] LIKE ALLMulti-valued LIKE comparisonbinary
11[NOT] ILIKE ANY, [NOT] ILIKE SOME, [NOT] ILIKE ALLMulti-valued LIKE comparisonbinary
12[NOT] BETWEENValue is [not] within the range specifiedbinary
[NOT] BETWEEN SYMMETRICLike [NOT] BETWEEN, but in non-sorted order. For example, whereas a BETWEEN b AND c means b <= a <= c, a BETWEEN SYMMETRIC b AND c means (b <= a <= c) OR (c <= a <= b).binary
12[NOT] INValue is [not] in the set of values specifiedbinary
12[NOT] LIKEMatches [or not] LIKE expression, case sensitivebinary
12[NOT] ILIKEMatches [or not] LIKE expression, case insensitivebinary
12[NOT] SIMILARMatches [or not] SIMILAR TO regular expressionbinary
12~Matches regular expression, case sensitivebinary
12!~Does not match regular expression, case sensitivebinary
12~*Matches regular expression, case insensitivebinary
12!~*Does not match regular expression, case insensitivebinary
13=Equalbinary
13<Less thanbinary
13>Greater thanbinary
13<=Less than or equal tobinary
13>=Greater than or equal tobinary
13!=, <>Not equalbinary
14IS [DISTINCT FROM]Equal, considering NULL as value值binary
14IS NOT [DISTINCT FROM]Not equal, a IS NOT b equivalent to NOT (a IS b)binary
14ISNULL, IS UNKNOWN, NOTNULL, IS NOT UNKNOWNEquivalent to IS NULL / IS NOT NULLunary (suffix)
14IS NAN, IS NOT NANComparison with the floating-point NaN valueunary (suffix)
14IS OF(...)Type predicateunary (suffix)
15NOTLogical NOTunary
16ANDLogical ANDbinary
17ORLogical ORbinary

Supported Operators

OperatorExpressionReturn
#int2 # int2int8
#int2 # int4int8
#int2 # int8int8
#int4 # int2int8
#int4 # int4int8
#int4 # int8int8
#int8 # int2int8
#int8 # int4int8
#int8 # int8int8
#varbit # varbitvarbit
#>jsonb #> STRING[]jsonb
#>>jsonb #>> STRING[]STRING
%decimal % decimaldecimal
%decimal % INT2decimal
%decimal % INT4decimal
%decimal % INT8decimal
%float4 % float4float8
%float4 % float8float8
%float8 % float4float8
%float8 % float8float8
%INT2 % decimaldecimal
%INT4 % decimaldecimal
%INT8 % decimaldecimal
%int2 % int2int8
%int2 % int4int8
%int2 % int8int8
%int4 % int2int8
%int4 % int4int8
%int4 % int8int8
%int8 % int2int8
%int8 % int4int8
%int8 % int8int8
&INET & INETINET
&int2 & int2int8
&int2 & int4int8
&int2 & int8int8
&int4 & int2int8
&int4 & int4int8
&int4 & int8int8
&int8 & int2int8
&int8 & int4int8
&int8 & int8int8
&varbit & varbitvarbit
&&anyelement && anyelementBOOL
&&INET && INETBOOL
*decimal * decimaldecimal
*decimal * INT2decimal
*decimal * INT4decimal
*decimal * INT8decimal
*decimal * intervalinterval
*float4 * float4float8
*float4 * float8float8
*float8 * float4float8
*float8 * float8float8
*FLOAT4 * intervalinterval
*FLOAT8 * intervalinterval
*INT2 * decimaldecimal
*INT4 * decimaldecimal
*INT8 * decimaldecimal
*int2 * int2int8
*int2 * int4int8
*int2 * int8int8
*int4 * int2int8
*int4 * int4int8
*int4 * int8int8
*int8 * int2int8
*int8 * int4int8
*int8 * int8int8
*INT2 * intervalinterval
*INT4 * intervalinterval
*INT8 * intervalinterval
*interval * decimalinterval
*interval * FLOAT4interval
*interval * FLOAT8interval
*interval * INT2interval
*interval * INT4interval
*interval * INT8interval
+date + INT2date
+date + INT4date
+date + INT8date
+date + intervaltimestamptz
+date + timetimestamp
+decimal + decimaldecimal
+decimal + INT2decimal
+decimal + INT4decimal
+decimal + INT8decimal
+float4 + float4float8
+float4 + float8float8
+float8 + float4float8
+float8 + float8float8
+INET + INT2INET
+INET + INT4INET
+INET + INT8INET
+INT2 + datedate
+INT4 + datedate
+INT8 + datedate
+INT2 + decimaldecimal
+INT4 + decimaldecimal
+INT8 + decimaldecimal
+INT2 + INETINET
+INT4 + INETINET
+INT8 + INETINET
+int2 + int2int8
+int2 + int4int8
+int2 + int8int8
+int4 + int2int8
+int4 + int4int8
+int4 + int8int8
+int8 + int2int8
+int8 + int4int8
+int8 + int8int8
+interval + datetimestamptz
+interval + intervalinterval
+interval + timetime
+interval + timestamptimestamp
+interval + timestamptztimestamptz
+time + datetimestamp
+time + intervaltime
+timestamp + intervaltimestamp
+timestamptz + intervaltimestamptz
+timetz + datetimestamptz
+timetz + intervaltimetz
--decimaldecimal
--float4float8
--float8float8
--int2int8
--int4int8
--int8int8
--intervalinterval
-date - dateINT8
-date - INT2date
-date - INT4date
-date - INT8date
-date - intervaltimestamptz
-date - timetimestamp
-decimal - decimaldecimal
-decimal - INT2decimal
-decimal - INT4decimal
-decimal - INT8decimal
-float4 - float4float8
-float4 - float8float8
-float8 - float4float8
-float8 - float8float8
-INET - INETINT8
-INET - INT2INET
-INET - INT4INET
-INET - INT8INET
-INT2 - decimaldecimal
-INT4 - decimaldecimal
-INT8 - decimaldecimal
-int2 - int2int8
-int2 - int4int8
-int2 - int8int8
-int4 - int2int8
-int4 - int4int8
-int4 - int8int8
-int8 - int2int8
-int8 - int4int8
int8 - int8int8
-interval - intervalinterval
-jsonb - INT2jsonb
-jsonb - INT4jsonb
-jsonb - INT8jsonb
-jsonb - STRINGjsonb
-jsonb - STRING[]jsonb
-time - intervaltime
-time - timeinterval
-timestamp - intervaltimestamp
-timestamp - timestampinterval
-timestamp - timestamptzinterval
-timestamptz - intervaltimestamptz
-timestamptz - timestampinterval
-timestamptz - timestamptzinterval
-timetz - intervaltimetz
->jsonb -> INT2jsonb
->jsonb -> INT4jsonb
->jsonb -> INT8jsonb
->jsonb -> STRINGjsonb
->>jsonb ->> INT2STRING
->>jsonb ->> INT4STRING
->>jsonb ->> INT8STRING
->>jsonb ->> STRINGSTRING
/decimal / decimaldecimal
/decimal / INT2decimal
/decimal / INT4decimal
/decimal / INT8decimal
/FLOAT4 / FLOAT4FLOAT8
/FLOAT4 / FLOAT8FLOAT8
/FLOAT8 / FLOAT4FLOAT8
/FLOAT8 / FLOAT8FLOAT8
/INT2 / decimaldecimal
/INT4 / decimaldecimal
/INT8 / decimaldecimal
/INT2 / INT2decimal
/INT2 / INT4decimal
/INT2 / INT8decimal
/INT4 / INT2decimal
/INT4 / INT4decimal
/INT4 / INT8decimal
/INT8 / INT2decimal
/INT8 / INT4decimal
/INT8 / INT8decimal
/interval / FLOAT4interval
/interval / FLOAT8interval
/interval / INT2interval
/interval / INT4interval
/interval / INT8interval
//decimal // decimaldecimal
//decimal // INT2decimal
//decimal // INT4decimal
//decimal // INT8decimal
//FLOAT4 // FLOAT4FLOAT8
//FLOAT4 // FLOAT8FLOAT8
//FLOAT8 // FLOAT4FLOAT8
//FLOAT8 // FLOAT8FLOAT8
//INT2 // decimaldecimal
//INT4 // decimaldecimal
//INT8 // decimaldecimal
//INT2 // INT2INT8
//INT2 // INT4INT8
//INT2 // INT8INT8
//INT4 // INT2INT8
//INT4 // INT4INT8
//INT4 // INT8INT8
//INT8 // INT2INT8
//INT8 // INT4INT8
//INT8 // INT8INT8
<BOOL < BOOLBOOL
<BOOL[] < BOOL[]BOOL
<bytes < bytesBOOL
<bytes[] < bytes[]BOOL
<collatedSTRING < collatedSTRINGBOOL
<date < dateBOOL
<date < timestampBOOL
<date < timestamptzBOOL
<decimal < decimalBOOL
<decimal < FLOAT4BOOL
<decimal < FLOAT8BOOL
<decimal < INT2BOOL
<decimal < INT4BOOL
<decimal < INT8BOOL
<decimal[] < decimal[]BOOL
<FLOAT4 < decimalBOOL
<FLOAT8 < decimalBOOL
<FLOAT4 < FLOAT4BOOL
<FLOAT4 < FLOAT8BOOL
<FLOAT8 < FLOAT4BOOL
<FLOAT8 < FLOAT8BOOL
<float4 < int2BOOL
<float4 < int4BOOL
<float4 < int8BOOL
<float8 < int2BOOL
<float8 < int4BOOL
<float8 < int8BOOL
<FLOAT4[] < FLOAT4[]BOOL
<FLOAT4[] < FLOAT8[]BOOL
<FLOAT8[] < FLOAT4[]BOOL
<FLOAT8[] < FLOAT8[]BOOL
<INET < INETBOOL
<INET[] < INET[]BOOL
<INT2 < decimalBOOL
<INT4 < decimalBOOL
<INT8 < decimalBOOL
<int2 < float4BOOL
<int2 < float8BOOL
<int4 < float4BOOL
<int4 < float8BOOL
<int8 < float4BOOL
<int8 < float8BOOL
<int2 < int2BOOL
<int2 < int4BOOL
<int2 < int8BOOL
<int4 < int2BOOL
<int4 < int4BOOL
<int4 < int8BOOL
<int8 < int2BOOL
<int8 < int4BOOL
<int8 < int8BOOL
<INT2[] < INT2[]BOOL
<INT2[] < INT4[]BOOL
<INT2[] < INT8[]BOOL
<INT4[] < INT2[]BOOL
<INT4[] < INT4[]BOOL
<INT4[] < INT8[]BOOL
<INT8[] < INT2[]BOOL
<INT8[] < INT4[]BOOL
<INT8[] < INT8[]BOOL
<interval < intervalBOOL
<interval[] < interval[]BOOL
<jsonb < jsonbBOOL
<oid < oidBOOL
<STRING < STRINGBOOL
<STRING[] < STRING[]BOOL
<time < timeBOOL
<time < timetzBOOL
<time[] < time[]BOOL
<timestamp < dateBOOL
<timestamp < timestampBOOL
<timestamp < timestamptzBOOL
<timestamp[] < timestamp[]BOOL
<timestamptz < dateBOOL
<timestamptz < timestampBOOL
<timestamptz < timestamptzBOOL
<timestamptz[] < timestamptz[]BOOL
<timetz < timeBOOL
<timetz < timetzBOOL
<tuple < tupleBOOL
<UUID < UUIDBOOL
<UUID[] < UUID[]BOOL
<varbit < varbitBOOL
<<INET << INETBOOL
<<int2 << int2int8
<<int2 << int4int8
<<int2 << int8int8
<<int4 << int2int8
<<int4 << int4int8
<<int4 << int8int8
<<int8 << int2int8
<<int8 << int4int8
<<int8 << int8int8
<<varbit << INT2varbit
<<varbit << INT4varbit
<<varbit << INT8varbit
<=BOOL <= BOOLBOOL
<=BOOL[] <= BOOL[]BOOL
<=bytes <= bytesBOOL
<=bytes[] <= bytes[]BOOL
<=collatedSTRING <= collatedSTRINGBOOL
<=date <= dateBOOL
<=date <= timestampBOOL
<=date <= timestamptzBOOL
<=date[] <= date[]BOOL
<=decimal <= decimalBOOL
<=decimal <= FLOAT4BOOL
<=decimal <= FLOAT8BOOL
<=decimal <= INT2BOOL
<=decimal <= INT4BOOL
<=decimal <= INT8BOOL
<=decimal[] <= decimal[]BOOL
<=FLOAT4 <= decimalBOOL
<=FLOAT8 <= decimalBOOL
<=float4 <= float4BOOL
<=float4 <= float8BOOL
<=float8 <= float4BOOL
<=float8 <= float8BOOL
<=float4 <= int2BOOL
<=float4 <= int4BOOL
<=float4 <= int8BOOL
<=float8 <= int2BOOL
<=float8 <= int4BOOL
<=float8 <= int8BOOL
<=FLOAT4[] <= FLOAT4[]BOOL
<=FLOAT4[] <= FLOAT8[]BOOL
<=FLOAT8[] <= FLOAT4[]BOOL
<=FLOAT8[] <= FLOAT8[]BOOL
<=INET <= INETBOOL
<=INET[] <= INET[]BOOL
<=INT2 <= decimalBOOL
<=INT4 <= decimalBOOL
<=INT8 <= decimalBOOL
<=int2 <= float4BOOL
<=int2 <= float8BOOL
<=int4 <= float4BOOL
<=int4 <= float8BOOL
<=int8 <= float4BOOL
<=int8 <= float8BOOL
<=int2 <= int2BOOL
<=int2 <= int4BOOL
<=int2 <= int8BOOL
<=int4 <= int2BOOL
<=int4 <= int4BOOL
<=int4 <= int8BOOL
<=int8 <= int2BOOL
<=int8 <= int4BOOL
<=int8 <= int8BOOL
<=INT2[] <= INT2[]BOOL
<=INT2[] <= INT4[]BOOL
<=INT2[] <= INT8[]BOOL
<=INT4[] <= INT2[]BOOL
<=INT4[] <= INT4[]BOOL
<=INT4[] <= INT8[]BOOL
<=INT8[] <= INT2[]BOOL
<=INT8[] <= INT4[]BOOL
<=INT8[] <= INT8[]BOOL
<=interval <= intervalBOOL
<=interval[] <= interval[]BOOL
<=jsonb <= jsonbBOOL
<=oid <= oidBOOL
<=STRING <= STRINGBOOL
<=STRING[] <= STRING[]BOOL
<=time <= timeBOOL
<=time <= timetzBOOL
<=time[] <= time[]BOOL
<=timestamp <= dateBOOL
<=timestamp <= timestampBOOL
<=timestamp <= timestamptzBOOL
<=timestamp[] <= timestamp[]BOOL
<=timestamptz <= dateBOOL
<=timestamptz <= timestampBOOL
<=timestamptz <= timestamptzBOOL
<=timestamptz[] <= timestamptz[]BOOL
<=timetz <= timeBOOL
<=timetz <= timetzBOOL
<=tuple <= tupleBOOL
<=UUID <= UUIDBOOL
<=UUID[] <= UUID[]BOOL
<=varbit <= varbitBOOL
<@anyelement <@ anyelementBOOL
<@jsonb <@ jsonbBOOL
=BOOL = BOOLBOOL
=BOOL[] = BOOL[]BOOL
=bytes = bytesBOOL
=bytes[] = bytes[]BOOL
=collatedSTRING = collatedSTRINGBOOL
=date = dateBOOL
=date = timestampBOOL
=date = timestamptzBOOL
=date[] = date[]BOOL
=decimal = decimalBOOL
=decimal = FLOAT4BOOL
=decimal = FLOAT8BOOL
=decimal = INT2BOOL
=decimal = INT4BOOL
=decimal = INT8BOOL
=decimal[] = decimal[]BOOL
=FLOAT4 = decimalBOOL
=FLOAT8 = decimalBOOL
=float4 = float4BOOL
=float4 = float8BOOL
=float8 = float4BOOL
=float8 = float8BOOL
=float4 = int2BOOL
=float4 = int4BOOL
=float4 = int8BOOL
=float8 = int2BOOL
=float8 = int4BOOL
=float8 = int8BOOL
=FLOAT4[] = FLOAT4[]BOOL
=FLOAT4[] = FLOAT8[]BOOL
=FLOAT8[] = FLOAT4[]BOOL
=FLOAT8[] = FLOAT8[]BOOL
=INET = INETBOOL
=INET[] = INET[]BOOL
=INT2 = decimalBOOL
=INT4 = decimalBOOL
=INT8 = decimalBOOL
=int2 = float4BOOL
=int2 = float8BOOL
=int4 = float4BOOL
=int4 = float8BOOL
=int8 = float4BOOL
=int8 = float8BOOL
=int2 = int2BOOL
=int2 = int4BOOL
=int2 = int8BOOL
=Int4 = int2BOOL
=int4 = int4BOOL
=int4 = int8BOOL
=int8 = int2BOOL
=int8 = int4BOOL
=int8 = int8BOOL
=INT2[] = INT2[]BOOL
=INT2[] = INT4[]BOOL
=INT2[] = INT8[]BOOL
=INT4[] = INT2[]BOOL
=INT4[] = INT4[]BOOL
=INT4[] = INT8[]BOOL
=INT8[] = INT2[]BOOL
=INT8[] = INT4[]BOOL
=INT8[] = INT8[]BOOL
=interval = intervalBOOL
=interval[] = interval[]BOOL
=jsonb = jsonbBOOL
=oid = oidBOOL
=STRING = STRINGBOOL
=STRING[] = STRING[]BOOL
=time = timeBOOL
=time = timetzBOOL
=time[] = time[]BOOL
=timestamp = dateBOOL
=timestamp = timestampBOOL
=timestamp = timestamptzBOOL
=timestamp[] = timestamp[]BOOL
=timestamptz = dateBOOL
=timestamptz = timestampBOOL
=timestamptz = timestamptzBOOL
=timestamptz[] = timestamptz[]BOOL
=timetz = timeBOOL
=timetz = timetzBOOL
=tuple = tupleBOOL
=UUID = UUIDBOOL
=UUID[] = UUID[]BOOL
=varbit = varbitBOOL
>>INET >> INETBOOL
>>int2 >> int2int8
>>int2 >> int4int8
>>int2 >> int8int8
>>int4 >> int2int8
>>int4 >> int4int8
>>int4 >> int8int8
>>int8 >> int2int8
>>int8 >> int4int8
>>int8 >> int8int8
>>varbit >> INT2varbit
>>varbit >> INT4varbit
>>varbit >> INT8varbit
?jsonb ? STRINGBOOL
?&jsonb ?& STRING[]BOOL
?|jsonb ?| STRING[]BOOL
@>anyelement @> anyelementBOOL
@>jsonb @> jsonbBOOL
ILIKESTRING ILIKE STRINGBOOL
INBOOL IN tupleBOOL
INbytes IN tupleBOOL
INcollatedSTRING IN tupleBOOL
INdate IN tupleBOOL
INdecimal IN tupleBOOL
INFLOAT4 IN tupleBOOL
INFLOAT8 IN tupleBOOL
ININET IN tupleBOOL
ININT2 IN tupleBOOL
ININT4 IN tupleBOOL
ININT8 IN tupleBOOL
INinterval IN tupleBOOL
INjsonb IN tupleBOOL
INoid IN tupleBOOL
INSTRING IN tupleBOOL
INtime IN tupleBOOL
INtimestamp IN tupleBOOL
INtimestamptz IN tupleBOOL
INtuple IN tupleBOOL
INUUID IN tupleBOOL
INvarbit IN tupleBOOL
IS NOT DISTINCT FROMBOOL IS NOT DISTINCT FROM BOOLBOOL
IS NOT DISTINCT FROMBOOL[] IS NOT DISTINCT FROM BOOL[]BOOL
IS NOT DISTINCT FROMbytes IS NOT DISTINCT FROM bytesBOOL
IS NOT DISTINCT FROMbytes[] IS NOT DISTINCT FROM bytes[]BOOL
IS NOT DISTINCT FROMcollatedSTRING IS NOT DISTINCT FROM collatedSTRINGBOOL
IS NOT DISTINCT FROMdate IS NOT DISTINCT FROM dateBOOL
IS NOT DISTINCT FROMdate IS NOT DISTINCT FROM timestampBOOL
IS NOT DISTINCT FROMdate IS NOT DISTINCT FROM timestamptzBOOL
IS NOT DISTINCT FROMdate[] IS NOT DISTINCT FROM date[]BOOL
IS NOT DISTINCT FROMdecimal IS NOT DISTINCT FROM decimalBOOL
IS NOT DISTINCT FROMdecimal IS NOT DISTINCT FROM FLOAT4BOOL
IS NOT DISTINCT FROMdecimal IS NOT DISTINCT FROM FLOAT8BOOL
IS NOT DISTINCT FROMdecimal IS NOT DISTINCT FROM INT2BOOL
IS NOT DISTINCT FROMdecimal IS NOT DISTINCT FROM INT4BOOL
IS NOT DISTINCT FROMdecimal IS NOT DISTINCT FROM INT8BOOL
IS NOT DISTINCT FROMdecimal[] IS NOT DISTINCT FROM decimal[]BOOL
IS NOT DISTINCT FROMFLOAT4 IS NOT DISTINCT FROM decimalBOOL
IS NOT DISTINCT FROMFLOAT8 IS NOT DISTINCT FROM decimalBOOL
IS NOT DISTINCT FROMFLOAT4 IS NOT DISTINCT FROM FLOAT4BOOL
IS NOT DISTINCT FROMFLOAT4 IS NOT DISTINCT FROM FLOAT8BOOL
IS NOT DISTINCT FROMFLOAT8 IS NOT DISTINCT FROM FLOAT4BOOL
IS NOT DISTINCT FROMFLOAT8 IS NOT DISTINCT FROM FLOAT8BOOL
IS NOT DISTINCT FROMFLOAT4 IS NOT DISTINCT FROM INT2BOOL
IS NOT DISTINCT FROMFLOAT4 IS NOT DISTINCT FROM INT4BOOL
IS NOT DISTINCT FROMFLOAT4 IS NOT DISTINCT FROM INT8BOOL
IS NOT DISTINCT FROMFLOAT8 IS NOT DISTINCT FROM INT2BOOL
IS NOT DISTINCT FROMFLOAT8 IS NOT DISTINCT FROM INT4BOOL
IS NOT DISTINCT FROMFLOAT8 IS NOT DISTINCT FROM INT8BOOL
IS NOT DISTINCT FROMFLOAT4[] IS NOT DISTINCT FROM FLOAT4[]BOOL
IS NOT DISTINCT FROMFLOAT4[] IS NOT DISTINCT FROM FLOAT8[]BOOL
IS NOT DISTINCT FROMFLOAT8[] IS NOT DISTINCT FROM FLOAT4[]BOOL
IS NOT DISTINCT FROMFLOAT8[] IS NOT DISTINCT FROM FLOAT8[]BOOL
IS NOT DISTINCT FROMINET IS NOT DISTINCT FROM INETBOOL
IS NOT DISTINCT FROMINET[] IS NOT DISTINCT FROM INET[]BOOL
IS NOT DISTINCT FROMINT2 IS NOT DISTINCT FROM decimalBOOL
IS NOT DISTINCT FROMINT4 IS NOT DISTINCT FROM decimalBOOL
IS NOT DISTINCT FROMINT8 IS NOT DISTINCT FROM decimalBOOL
IS NOT DISTINCT FROMINT2 IS NOT DISTINCT FROM FLOAT4BOOL
IS NOT DISTINCT FROMINT2 IS NOT DISTINCT FROM FLOAT8BOOL
IS NOT DISTINCT FROMINT4 IS NOT DISTINCT FROM FLOAT4BOOL
IS NOT DISTINCT FROMINT4 IS NOT DISTINCT FROM FLOAT8BOOL
IS NOT DISTINCT FROMINT8 IS NOT DISTINCT FROM FLOAT4BOOL
IS NOT DISTINCT FROMINT8 IS NOT DISTINCT FROM FLOAT8BOOL
IS NOT DISTINCT FROMINT2 IS NOT DISTINCT FROM INT2BOOL
IS NOT DISTINCT FROMINT2 IS NOT DISTINCT FROM INT4BOOL
IS NOT DISTINCT FROMINT2 IS NOT DISTINCT FROM INT8BOOL
IS NOT DISTINCT FROMINT4 IS NOT DISTINCT FROM INT2BOOL
IS NOT DISTINCT FROMINT4 IS NOT DISTINCT FROM INT4BOOL
IS NOT DISTINCT FROMINT4 IS NOT DISTINCT FROM INT8BOOL
IS NOT DISTINCT FROMINT8 IS NOT DISTINCT FROM INT2BOOL
IS NOT DISTINCT FROMINT8 IS NOT DISTINCT FROM INT4BOOL
IS NOT DISTINCT FROMINT8 IS NOT DISTINCT FROM INT8BOOL
IS NOT DISTINCT FROMINT2[] IS NOT DISTINCT FROM INT2[]BOOL
IS NOT DISTINCT FROMINT2[] IS NOT DISTINCT FROM INT4[]BOOL
IS NOT DISTINCT FROMINT2[] IS NOT DISTINCT FROM INT8[]BOOL
IS NOT DISTINCT FROMINT4[] IS NOT DISTINCT FROM INT2[]BOOL
IS NOT DISTINCT FROMINT4[] IS NOT DISTINCT FROM INT4[]BOOL
IS NOT DISTINCT FROMINT4[] IS NOT DISTINCT FROM INT8[]BOOL
IS NOT DISTINCT FROMINT8[] IS NOT DISTINCT FROM INT2[]BOOL
IS NOT DISTINCT FROMINT8[] IS NOT DISTINCT FROM INT4[]BOOL
IS NOT DISTINCT FROMINT8[] IS NOT DISTINCT FROM INT8[]BOOL
IS NOT DISTINCT FROMinterval IS NOT DISTINCT FROM intervalBOOL
IS NOT DISTINCT FROMinterval[] IS NOT DISTINCT FROM interval[]BOOL
IS NOT DISTINCT FROMjsonb IS NOT DISTINCT FROM jsonbBOOL
IS NOT DISTINCT FROMoid IS NOT DISTINCT FROM oidBOOL
IS NOT DISTINCT FROMSTRING IS NOT DISTINCT FROM STRINGBOOL
IS NOT DISTINCT FROMSTRING[] IS NOT DISTINCT FROM STRING[]BOOL
IS NOT DISTINCT FROMtime IS NOT DISTINCT FROM timeBOOL
IS NOT DISTINCT FROMtime IS NOT DISTINCT FROM timetzBOOL
IS NOT DISTINCT FROMtime[] IS NOT DISTINCT FROM time[]BOOL
IS NOT DISTINCT FROMtimestamp IS NOT DISTINCT FROM dateBOOL
IS NOT DISTINCT FROMtimestamp IS NOT DISTINCT FROM timestampBOOL
IS NOT DISTINCT FROMtimestamp IS NOT DISTINCT FROM timestamptzBOOL
IS NOT DISTINCT FROMtimestamp[] IS NOT DISTINCT FROM timestamp[]BOOL
IS NOT DISTINCT FROMtimestamptz IS NOT DISTINCT FROM dateBOOL
IS NOT DISTINCT FROMtimestamptz IS NOT DISTINCT FROM timestampBOOL
IS NOT DISTINCT FROMtimestamptz IS NOT DISTINCT FROM timestamptzBOOL
IS NOT DISTINCT FROMtimetz IS NOT DISTINCT FROM timeBOOL
IS NOT DISTINCT FROMtimetz IS NOT DISTINCT FROM timetzBOOL
IS NOT DISTINCT FROMtuple IS NOT DISTINCT FROM tupleBOOL
IS NOT DISTINCT FROMunknown IS NOT DISTINCT FROM unknownBOOL
IS NOT DISTINCT FROMUUID IS NOT DISTINCT FROM UUIDBOOL
IS NOT DISTINCT FROMUUID[] IS NOT DISTINCT FROM UUID[]BOOL
IS NOT DISTINCT FROMvarbit IS NOT DISTINCT FROM varbitBOOL
LIKESTRING LIKE STRINGBOOL
SIMILAR TOSTRING SIMILAR TO STRINGBOOL
^decimal ^ decimaldecimal
^decimal ^ INT2decimal
^decimal ^ INT4decimal
^decimal ^ INT8decimal
^FLOAT4 ^ FLOAT4FLOAT8
^FLOAT4 ^ FLOAT8FLOAT8
^FLOAT8 ^ FLOAT4FLOAT8
^FLOAT8 ^ FLOAT8FLOAT8
^INT2 ^ decimaldecimal
^INT4 ^ decimaldecimal
^INT8 ^ decimaldecimal
^INT2 ^ INT2INT8
^INT2 ^ INT4INT8
^INT2 ^ INT8INT8
^INT4 ^ INT2INT8
^INT4 ^ INT4INT8
^INT4 ^ INT8INT8
^INT8 ^ INT2INT8
^INT8 ^ INT4INT8
^INT8 ^ INT8INT8
|INET | INETINET
|INT2 | INT2INT8
|INT2 | INT4INT8
|INT2 | INT8INT8
|INT4 | INT2INT8
|INT4 | INT4INT8
|INT4 | INT8INT8
|INT8 | INT2INT8
|INT8 | INT4INT8
|INT8 | INT8INT8
|varbit | varbitvarbit
||BOOL || BOOL[]BOOL[]
||BOOL[] || BOOLBOOL[]
||BOOL[] || BOOL[]BOOL[]
||bytes || bytesbytes
||bytes || bytes[]bytes[]
||bytes[] || bytesbytes[]
||bytes[] || bytes[]bytes[]
||date || date[]date[]
||date[] || datedate[]
||date[] || date[]date[]
||decimal || decimal[]decimal[]
||decimal[] || decimaldecimal[]
||decimal[] || decimal[]decimal[]
||FLOAT4 || FLOAT4[]FLOAT8[]
||FLOAT4 || FLOAT8[]FLOAT8[]
||FLOAT8 || FLOAT4[]FLOAT8[]
||FLOAT8 || FLOAT8[]FLOAT8[]
||FLOAT4[] || FLOAT4FLOAT8[]
||FLOAT4[] || FLOAT8FLOAT8[]
||FLOAT8[] || FLOAT4FLOAT8[]
||FLOAT8[] || FLOAT8FLOAT8[]
||FLOAT4[] || FLOAT4[]FLOAT8[]
||FLOAT4[] || FLOAT8[]FLOAT8[]
||FLOAT8[] || FLOAT4[]FLOAT8[]
||FLOAT8[] || FLOAT8[]FLOAT8[]
||INET || INET[]INET[]
||INET[] || INETINET[]
||INET[] || INET[]INET[]
||INT2 || INT2[]INT8[]
||INT2 || INT4[]INT8[]
||INT2 || INT8[]INT8[]
||INT4 || INT2[]INT8[]
||INT4 || INT4[]INT8[]
||INT4 || INT8[]INT8[]
||INT8 || INT2[]INT8[]
||INT8 || INT4[]INT8[]
||INT8 || INT8[]INT8[]
||INT2[] || INT2INT8[]
||INT2[] || INT4INT8[]
||INT2[] || INT8INT8[]
||INT4[] || INT2INT8[]
||INT4[] || INT4INT8[]
||INT4[] || INT8INT8[]
||INT8[] || INT2INT8[]
||INT8[] || INT4INT8[]
||INT8[] || INT8INT8[]
||INT2[] || INT2[]INT8[]
||INT2[] || INT4[]INT8[]
||INT2[] || INT8[]INT8[]
||INT4[] || INT2[]INT8[]
||INT4[] || INT4[]INT8[]
||INT4[] || INT8[]INT8[]
||INT8[] || INT2[]INT8[]
||INT8[] || INT4[]INT8[]
||INT8[] || INT8[]INT8[]
||interval || interval[]interval[]
||interval[] || intervalinterval[]
||interval[] || interval[]interval[]
||jsonb || jsonbjsonb
||oid || oidoid
||STRING || STRINGSTRING
||STRING || STRING[]STRING[]
||STRING[] || STRINGSTRING[]
||STRING[] || STRING[]STRING[]
||time || time[]time[]
||time[] || timetime[]
||time[] || time[]time[]
||timestamp || timestamp[]timestamp[]
||timestamp[] || timestamptimestamp[]
||timestamp[] || timestamp[]timestamp[]
||timestamptz || timestamptz[]timestamptz
||timestamptz[] || timestamptztimestamptz
||timestamptz[] || timestamptz[]timestamptz
||timetz || timetztimetz
||UUID || UUID[]UUID[]
||UUID[] || UUIDUUID[]
||UUID[] || UUID[]UUID[]
||varbit || varbitvarbit
~~INETINET
~~INT2INT8
~~INT4INT8
~~INT8INT8
~~varbitvarbit
~STRING ~ STRINGBOOL
~*STRING ~* STRINGBOOL