Skip to main content

case

Function case 

Source
pub fn case() -> CaseBuilder
Expand description

Start building a searched CASE expression (CASE WHEN cond THEN result ... END).

A searched CASE evaluates each WHEN condition independently. Use case_of() for a simple CASE that compares an operand against values.

ยงExamples

use polyglot_sql::builder::*;

let expr = case()
    .when(col("x").gt(lit(0)), lit("positive"))
    .when(col("x").eq(lit(0)), lit("zero"))
    .else_(lit("negative"))
    .build();
assert_eq!(
    expr.to_sql(),
    "CASE WHEN x > 0 THEN 'positive' WHEN x = 0 THEN 'zero' ELSE 'negative' END"
);