column_name in ('FOO', 'BAR', 'BAZ')
####
(column_name = 'FOO' or column_name = 'BAR' or column_name = 'BAZ')
####
(column_name like 'FO%' or column_name like 'B%' or column_name = 'CAT')
####
sub generate_criteria {
my ($ColName, $Criteria) = @_;
my @fields = split /\|/, $Criteria;
return " $ColName = '$field[0]' " if @fields==1;
my @ret;
my @wildfields = grep { $_ =~ /[%_]/ } @fields;
if (@wildfields) {
push @ret, join(" or ", map { "$ColName like '$_'" } @wildfields;
}
my @constfields = grep { $_ !~ /[%_]/ } @fields;
if (@constfields) {
push @ret, " $ColName in (" . join(", ", map { "'$_'" } @constfields) . ")";
}
return join(" ", "(", @ret, ")");
}
####
my @fields = map { s/'/''/g; $_ } split /\|/, $Criteria;
####
sub generate_criteria {
my ($ColName, $Criteria) = @_;
my @fields = map { s/'/''/g; $_ } split /\|/, $Criteria;
return "( " . join(" or ", map { "$ColName LIKE '$_'" } @fields) . " )";
}