compile method
Writes this expression's SQL, binding any values through parameters.
Implementation
@override
String compile(MssqlParameterAllocator parameters, MssqlDialect dialect) {
final left = operand.compile(parameters, dialect);
return switch (operator) {
MssqlOperator.eq =>
'($left >= ${parameters.bind(_lower)} AND '
'$left < ${parameters.bind(_upper)})',
// NULL rows match neither side, exactly as they do not match `<>`.
MssqlOperator.ne =>
'($left < ${parameters.bind(_lower)} OR '
'$left >= ${parameters.bind(_upper)})',
MssqlOperator.lt => '$left < ${parameters.bind(_lower)}',
MssqlOperator.lte => '$left < ${parameters.bind(_upper)}',
MssqlOperator.gt => '$left >= ${parameters.bind(_upper)}',
MssqlOperator.gte => '$left >= ${parameters.bind(_lower)}',
};
}