compile method

  1. @override
String compile(
  1. MssqlParameterAllocator parameters,
  2. MssqlDialect dialect
)
override

Writes this expression's SQL, binding any values through parameters.

Implementation

@override
String compile(MssqlParameterAllocator parameters, MssqlDialect dialect) {
  final out = StringBuffer('CASE');
  for (final branch in branches) {
    out.write(' WHEN ${branch.when.compile(parameters, dialect)}');
    out.write(' THEN ${branch.then.compile(parameters, dialect)}');
  }
  final fallback = otherwise;
  if (fallback != null) {
    out.write(' ELSE ${fallback.compile(parameters, dialect)}');
  }
  out.write(' END');
  return out.toString();
}