Struct datafusion::physical_plan::expressions::CaseExpr [−][src]
pub struct CaseExpr { /* fields omitted */ }
Expand description
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
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>
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>
Create a new CASE WHEN expression
Optional base expression that can be compared to literal values in the “when” expressions
One or more when/then expressions
Optional “else” expression
Trait Implementations
Get the data type of this expression, given the schema of the input
Determine whether this expression is nullable, given the schema of the input
Evaluate an expression against a RecordBatch