Skip to main content

BinaryOp

Enum BinaryOp 

Source
pub enum BinaryOp {
Show 43 variants Or, And, Eq, NotEq, Lt, Gt, LtEq, GtEq, IsDistinctFrom, IsNotDistinctFrom, Add, Subtract, Multiply, Divide, IntegerDivide, Modulo, Power, BitAnd, BitOr, ShiftLeft, ShiftRight, Concat, Like, NotLike, ILike, NotILike, Glob, SimilarTo, NotSimilarTo, Regex, RegexInsensitive, NotRegexInsensitive, Collate, AtTimeZone, Arrow, LongArrow, Contains, ContainedBy, Overlaps, StartsWith, InetContainedByOrEq, InetContainsOrEq, Named(StrRef),
}
Expand description

An infix operator.

The list is the dialect and not a general idea of what operators are. Named is the one open door, because OperatorLiteral in the grammar takes any run of operator characters that is not already a token, and rejecting that here would reject SQL DuckDB accepts.

Variants§

§

Or

OR.

§

And

AND.

§

Eq

= or ==.

§

NotEq

!= or <>.

§

Lt

<.

§

Gt

>.

§

LtEq

<=.

§

GtEq

>=.

§

IsDistinctFrom

IS DISTINCT FROM.

§

IsNotDistinctFrom

IS NOT DISTINCT FROM.

§

Add

+.

§

Subtract

-.

§

Multiply

*.

§

Divide

/.

§

IntegerDivide

//, integer division.

§

Modulo

%.

§

Power

^ or **.

§

BitAnd

&.

§

BitOr

|.

§

ShiftLeft

<<.

§

ShiftRight

>>.

§

Concat

||.

§

Like

LIKE or ~~.

§

NotLike

NOT LIKE or !~~.

§

ILike

ILIKE or ~~*.

§

NotILike

NOT ILIKE or !~~*.

§

Glob

GLOB or ~~~.

§

SimilarTo

SIMILAR TO.

§

NotSimilarTo

!~, which the grammar calls the not-similar-to operator.

§

Regex

~, a regex match.

§

RegexInsensitive

~*, a case insensitive regex match.

§

NotRegexInsensitive

!~*, a negated case insensitive regex match.

§

Collate

COLLATE.

§

AtTimeZone

AT TIME ZONE.

§

Arrow

->.

§

LongArrow

->>.

§

Contains

@>, contains.

§

ContainedBy

<@, contained by.

§

Overlaps

&&, overlaps.

§

StartsWith

^@, starts with.

§

InetContainedByOrEq

<<=, an inet operator.

§

InetContainsOrEq

>>=, an inet operator.

§

Named(StrRef)

An operator the dialect does not name, which DuckDB resolves as a binary function of that name. a <=> b is the shape.

Trait Implementations§

Source§

impl Clone for BinaryOp

Source§

fn clone(&self) -> BinaryOp

Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Copy for BinaryOp

Source§

impl Debug for BinaryOp

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl Eq for BinaryOp

Source§

impl PartialEq for BinaryOp

Source§

fn eq(&self, other: &BinaryOp) -> bool

Equality operator ==. Read more
1.0.0 (const: unstable) · Source§

fn ne(&self, other: &Rhs) -> bool

Inequality operator !=. Read more
Source§

impl StructuralPartialEq for BinaryOp

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = !

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, !>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.