pub fn case<'a, V: SQLParam>() -> CaseInit<'a, V>Expand description
Starts a searched CASE expression.
Add at least one branch with when, then finish with
r#else or end. The first
branch’s result sets the type of the whole expression; later results must
have a compatible type.
§Examples
let group = case()
.when(gt(users.age, 65), "senior")
.when(gt(users.age, 17), "adult")
.r#else("minor");
assert_eq!(
group.sql(),
r#"CASE WHEN "users"."age" > ? THEN ? WHEN "users"."age" > ? THEN ? ELSE ? END"#
);§Type safety
Branches with different result types do not compile:
ⓘ
let wrong = case().when(gt(users.age, 65), "senior").r#else(0);