pub enum Expr {
Column(String),
Value(Value),
Function {
function: ExprFunction,
args: Vec<Expr>,
},
Binary {
left: Box<Expr>,
op: BinaryOp,
right: Box<Expr>,
},
SubQuery {
left: Box<Expr>,
op: BinaryOp,
entity: EntityDescriptor,
query: Box<SelectQuery>,
},
Between {
expr: Box<Expr>,
lower: Box<Expr>,
upper: Box<Expr>,
},
IsNull(Box<Expr>),
IsNotNull(Box<Expr>),
And(Vec<Expr>),
Or(Vec<Expr>),
Not(Box<Expr>),
}Variants§
Column(String)
Value(Value)
Function
Binary
SubQuery
Between
IsNull(Box<Expr>)
IsNotNull(Box<Expr>)
And(Vec<Expr>)
Or(Vec<Expr>)
Not(Box<Expr>)
Implementations§
Source§impl Expr
impl Expr
pub fn column(name: impl Into<String>) -> Self
pub fn value(value: impl Into<Value>) -> Self
pub fn function( function: ExprFunction, args: impl IntoIterator<Item = Expr>, ) -> Self
pub fn soundex(expr: Expr) -> Self
pub fn gbk(expr: Expr) -> Self
pub fn count_all() -> Self
pub fn count_expr(expr: Expr) -> Self
pub fn sum_expr(expr: Expr) -> Self
pub fn avg_expr(expr: Expr) -> Self
pub fn min_expr(expr: Expr) -> Self
pub fn max_expr(expr: Expr) -> Self
pub fn stddev_expr(expr: Expr) -> Self
pub fn stddev_pop_expr(expr: Expr) -> Self
pub fn var_samp_expr(expr: Expr) -> Self
pub fn var_pop_expr(expr: Expr) -> Self
pub fn bit_and_expr(expr: Expr) -> Self
pub fn bit_or_expr(expr: Expr) -> Self
pub fn bit_xor_expr(expr: Expr) -> Self
pub fn sound_like(column: impl Into<String>, value: impl Into<Value>) -> Self
pub fn eq(column: impl Into<String>, value: impl Into<Value>) -> Self
pub fn ne(column: impl Into<String>, value: impl Into<Value>) -> Self
pub fn gt(column: impl Into<String>, value: impl Into<Value>) -> Self
pub fn gte(column: impl Into<String>, value: impl Into<Value>) -> Self
pub fn lt(column: impl Into<String>, value: impl Into<Value>) -> Self
pub fn lte(column: impl Into<String>, value: impl Into<Value>) -> Self
pub fn like(column: impl Into<String>, pattern: impl Into<String>) -> Self
pub fn not_like(column: impl Into<String>, pattern: impl Into<String>) -> Self
pub fn contain(column: impl Into<String>, value: impl Into<String>) -> Self
pub fn not_contain(column: impl Into<String>, value: impl Into<String>) -> Self
pub fn begin_with(column: impl Into<String>, value: impl Into<String>) -> Self
pub fn not_begin_with( column: impl Into<String>, value: impl Into<String>, ) -> Self
pub fn end_with(column: impl Into<String>, value: impl Into<String>) -> Self
pub fn not_end_with(column: impl Into<String>, value: impl Into<String>) -> Self
pub fn binary(left: Expr, op: BinaryOp, right: Expr) -> Self
pub fn compare_columns( left_column: impl Into<String>, op: BinaryOp, right_column: impl Into<String>, ) -> Self
pub fn in_list( column: impl Into<String>, values: impl IntoIterator<Item = Value>, ) -> Self
pub fn not_in_list( column: impl Into<String>, values: impl IntoIterator<Item = Value>, ) -> Self
pub fn in_large( column: impl Into<String>, values: impl IntoIterator<Item = Value>, ) -> Self
pub fn not_in_large( column: impl Into<String>, values: impl IntoIterator<Item = Value>, ) -> Self
pub fn in_subquery( column: impl Into<String>, entity: EntityDescriptor, query: SelectQuery, field: impl Into<String>, ) -> Self
pub fn not_in_subquery( column: impl Into<String>, entity: EntityDescriptor, query: SelectQuery, field: impl Into<String>, ) -> Self
pub fn subquery( left: Expr, op: BinaryOp, entity: EntityDescriptor, query: SelectQuery, field: impl Into<String>, ) -> Self
pub fn between( column: impl Into<String>, lower: impl Into<Value>, upper: impl Into<Value>, ) -> Self
pub fn is_null(column: impl Into<String>) -> Self
pub fn is_not_null(column: impl Into<String>) -> Self
pub fn and(parts: impl IntoIterator<Item = Expr>) -> Self
pub fn or(parts: impl IntoIterator<Item = Expr>) -> Self
pub fn negate(expr: Expr) -> Self
pub fn and_expr(self, other: Expr) -> Self
pub fn or_expr(self, other: Expr) -> Self
Trait Implementations§
impl StructuralPartialEq for Expr
Auto Trait Implementations§
impl Freeze for Expr
impl RefUnwindSafe for Expr
impl Send for Expr
impl Sync for Expr
impl Unpin for Expr
impl UnsafeUnpin for Expr
impl UnwindSafe for Expr
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more