inClause static method
Implementation
static String inClause(Iterable values, [SqlOnEmptyInClause onEmpty = SqlOnEmptyInClause.MATCHNULL]) {
if (values.isEmpty) {
switch (onEmpty) {
case SqlOnEmptyInClause.FAIL : throw new ArgumentError.value(values, 'values', "Failed to generate SQL \"IN\" clause: null/empty value list");
case SqlOnEmptyInClause.IGNORE : return '';
case SqlOnEmptyInClause.MATCHNULL: return 'IS NULL';
case SqlOnEmptyInClause.USEEMPTY : break;
}
}
if (values.length == 1) {
return "= @?";
} else {
return "IN (" + new List.filled(values.length, '@?').join(', ') + ")";
}
}