Enum gluesql_core::ast_builder::ExprNode
source · pub enum ExprNode {
Show 18 variants
Expr(Expr),
SqlExpr(String),
Identifier(String),
CompoundIdentifier {
alias: String,
ident: String,
},
Between {
expr: Box<ExprNode>,
negated: bool,
low: Box<ExprNode>,
high: Box<ExprNode>,
},
Like {
expr: Box<ExprNode>,
negated: bool,
pattern: Box<ExprNode>,
},
ILike {
expr: Box<ExprNode>,
negated: bool,
pattern: Box<ExprNode>,
},
BinaryOp {
left: Box<ExprNode>,
op: BinaryOperator,
right: Box<ExprNode>,
},
UnaryOp {
op: UnaryOperator,
expr: Box<ExprNode>,
},
IsNull(Box<ExprNode>),
IsNotNull(Box<ExprNode>),
InList {
expr: Box<ExprNode>,
list: Box<InListNode>,
negated: bool,
},
Nested(Box<ExprNode>),
Function(Box<FunctionNode>),
Aggregate(Box<AggregateNode>),
Exists {
subquery: Box<QueryNode>,
negated: bool,
},
Subquery(Box<QueryNode>),
Case {
operand: Option<Box<ExprNode>>,
when_then: Vec<(ExprNode, ExprNode)>,
else_result: Option<Box<ExprNode>>,
},
}Expand description
Available expression builder functions
Variants
Expr(Expr)
SqlExpr(String)
Identifier(String)
CompoundIdentifier
Between
Like
ILike
BinaryOp
UnaryOp
IsNull(Box<ExprNode>)
IsNotNull(Box<ExprNode>)
InList
Nested(Box<ExprNode>)
Function(Box<FunctionNode>)
Aggregate(Box<AggregateNode>)
Exists
Subquery(Box<QueryNode>)
Case
Fields
Implementations
sourceimpl ExprNode
impl ExprNode
pub fn add<T: Into<Self>>(self, other: T) -> Self
pub fn sub<T: Into<Self>>(self, other: T) -> Self
pub fn mul<T: Into<Self>>(self, other: T) -> Self
pub fn div<T: Into<Self>>(self, other: T) -> Self
pub fn modulo<T: Into<Self>>(self, other: T) -> Self
pub fn concat<T: Into<Self>>(self, other: T) -> Self
pub fn gt<T: Into<Self>>(self, other: T) -> Self
pub fn lt<T: Into<Self>>(self, other: T) -> Self
pub fn gte<T: Into<Self>>(self, other: T) -> Self
pub fn lte<T: Into<Self>>(self, other: T) -> Self
pub fn eq<T: Into<Self>>(self, other: T) -> Self
pub fn neq<T: Into<Self>>(self, other: T) -> Self
pub fn and<T: Into<Self>>(self, other: T) -> Self
pub fn or<T: Into<Self>>(self, other: T) -> Self
sourceimpl ExprNode
impl ExprNode
pub fn abs(self) -> ExprNode
pub fn upper(self) -> ExprNode
pub fn lower(self) -> ExprNode
pub fn ifnull<T: Into<ExprNode>>(self, another: T) -> ExprNode
pub fn ceil(self) -> ExprNode
pub fn round(self) -> ExprNode
pub fn floor(self) -> ExprNode
pub fn asin(self) -> ExprNode
pub fn acos(self) -> ExprNode
pub fn atan(self) -> ExprNode
pub fn sin(self) -> ExprNode
pub fn cos(self) -> ExprNode
pub fn tan(self) -> ExprNode
pub fn left<T: Into<ExprNode>>(self, size: T) -> Self
pub fn log<T: Into<ExprNode>>(self, base: T) -> ExprNode
pub fn log2(self) -> ExprNode
pub fn log10(self) -> ExprNode
pub fn ln(self) -> ExprNode
pub fn right<T: Into<ExprNode>>(self, size: T) -> Self
pub fn reverse(self) -> ExprNode
pub fn sign(self) -> ExprNode
pub fn power<T: Into<ExprNode>>(self, pwr: T) -> ExprNode
pub fn sqrt(self) -> ExprNode
pub fn gcd<T: Into<ExprNode>>(self, right: T) -> ExprNode
pub fn lcm<T: Into<ExprNode>>(self, right: T) -> ExprNode
pub fn repeat<T: Into<ExprNode>>(self, num: T) -> ExprNode
pub fn degrees(self) -> ExprNode
pub fn radians(self) -> ExprNode
pub fn lpad<T: Into<ExprNode>>(self, size: T, fill: Option<ExprNode>) -> ExprNode
pub fn rpad<T: Into<ExprNode>>(self, size: T, fill: Option<ExprNode>) -> ExprNode
pub fn exp(self) -> ExprNode
pub fn substr<T: Into<ExprNode>>(
self,
start: T,
count: Option<ExprNode>
) -> ExprNode
pub fn rtrim(self, chars: Option<ExprNode>) -> ExprNode
pub fn ltrim(self, chars: Option<ExprNode>) -> ExprNode
pub fn format<T: Into<ExprNode>>(self, fmt: T) -> ExprNode
pub fn to_date<T: Into<ExprNode>>(self, format: T) -> ExprNode
pub fn to_timestamp<T: Into<ExprNode>>(self, format: T) -> ExprNode
pub fn to_time<T: Into<ExprNode>>(self, format: T) -> ExprNode
pub fn position<T: Into<ExprNode>>(self, format: T) -> ExprNode
pub fn cast<T: Into<DataTypeNode>>(self, data_type: T) -> ExprNode
pub fn extract(self, field: DateTimeField) -> ExprNode
Trait Implementations
sourceimpl From<ExprNode> for OrderByExprList
impl From<ExprNode> for OrderByExprList
sourceimpl From<ExprNode> for OrderByExprNode
impl From<ExprNode> for OrderByExprNode
sourceimpl From<ExprNode> for SelectItemList
impl From<ExprNode> for SelectItemList
sourceimpl From<ExprNode> for SelectItemNode
impl From<ExprNode> for SelectItemNode
Auto Trait Implementations
impl RefUnwindSafe for ExprNode
impl Send for ExprNode
impl Sync for ExprNode
impl Unpin for ExprNode
impl UnwindSafe for ExprNode
Blanket Implementations
sourceimpl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
const: unstable · sourcefn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more