Skip to main content

CaseBuilder

Struct CaseBuilder 

Source
pub struct CaseBuilder { /* private fields */ }
Expand description

Fluent builder for SQL CASE expressions (both searched and simple forms).

Created by case() (searched form) or case_of() (simple form). Add branches with .when() and an optional default with .else_(). Finalize with .build() to get an Expr, or .build_expr() for a raw Expression.

Implementations§

Source§

impl CaseBuilder

Source

pub fn when(self, condition: Expr, result: Expr) -> Self

Add a WHEN condition THEN result branch to the CASE expression.

For a searched CASE (case()), condition is a boolean predicate. For a simple CASE (case_of()), condition is the value to compare against the operand.

Source

pub fn else_(self, result: Expr) -> Self

Set the ELSE result default branch of the CASE expression.

If not called, the CASE expression has no ELSE clause (implicitly NULL when no WHEN matches).

Source

pub fn build(self) -> Expr

Consume this builder and produce an Expr wrapping the CASE expression.

Source

pub fn build_expr(self) -> Expression

Consume this builder and produce the raw Expression::Case AST node.

Use this instead of .build() when you need the Expression directly rather than an Expr wrapper.

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> 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, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

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

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

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.