Struct datafusion::physical_plan::expressions::CaseExpr[][src]

pub struct CaseExpr { /* fields omitted */ }

The CASE expression is similar to a series of nested if/else and there are two forms that can be used. The first form consists of a series of boolean “when” expressions with corresponding “then” expressions, and an optional “else” expression.

CASE WHEN condition THEN result [WHEN …] [ELSE result] END

The second form uses a base expression and then a series of “when” clauses that match on a literal value.

CASE expression WHEN value THEN result [WHEN …] [ELSE result] END

Implementations

impl CaseExpr[src]

pub fn try_new(
    expr: Option<Arc<dyn PhysicalExpr>>,
    when_then_expr: &[(Arc<dyn PhysicalExpr>, Arc<dyn PhysicalExpr>)],
    else_expr: Option<Arc<dyn PhysicalExpr>>
) -> Result<Self>
[src]

Create a new CASE WHEN expression

pub fn expr(&self) -> &Option<Arc<dyn PhysicalExpr>>[src]

Optional base expression that can be compared to literal values in the “when” expressions

pub fn when_then_expr(
    &self
) -> &[(Arc<dyn PhysicalExpr>, Arc<dyn PhysicalExpr>)]
[src]

One or more when/then expressions

pub fn else_expr(&self) -> Option<&Arc<dyn PhysicalExpr>>[src]

Optional “else” expression

Trait Implementations

impl Debug for CaseExpr[src]

impl Display for CaseExpr[src]

impl PhysicalExpr for CaseExpr[src]

fn as_any(&self) -> &dyn Any[src]

Return a reference to Any that can be used for downcasting

Auto Trait Implementations

impl !RefUnwindSafe for CaseExpr

impl Send for CaseExpr

impl Sync for CaseExpr

impl Unpin for CaseExpr

impl !UnwindSafe for CaseExpr

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> From<T> for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T> Same<T> for T

type Output = T

Should always be Self

impl<T> ToString for T where
    T: Display + ?Sized
[src]

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

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

The type returned in the event of a conversion error.

impl<V, T> VZip<V> for T where
    V: MultiLane<T>,