- if ($searchtype eq "start_with"){
- my $col_field=(index($field,".")>0?substr($field, index($field,".")+1):$field);
- if ($field=~/(?<!zip)code|(?<!card)number/ ){
- push @tmpkeys,(" $field= '' ","$field IS NULL");
- } elsif ($$columns{$col_field}{Type}=~/varchar|text/i){
- push @tmpkeys,(" $field LIKE ? ","$field LIKE ?");
- my @localvaluesextended=("\% $operand\%","$operand\%") ;
- push @values,@localvaluesextended;
- }
+ my $col_field=(index($field,".")>0?substr($field, index($field,".")+1):$field);
+ if ($field=~/(?<!zip)code|(?<!card)number/ && $searchtype ne "exact"){
+ push @tmpkeys,(" $field= '' ","$field IS NULL");
+ }
+ if ($columns->{$col_field}->{Type}=~/varchar|text/i){
+ my @localvaluesextended;
+ if ($searchtype eq "contain"){
+ foreach (@$operand) {
+ push @tmpkeys,(" $field LIKE ? ");
+ push @localvaluesextended,("\%$_\%") ;
+ }
+ }
+ if ($searchtype eq "field_start_with"){
+ foreach (@$operand) {
+ push @tmpkeys,("$field LIKE ?");
+ push @localvaluesextended, ("$_\%") ;
+ }
+ }
+ if ($searchtype eq "start_with"){
+ foreach (@$operand) {
+ push @tmpkeys,("$field LIKE ?","$field LIKE ?");
+ push @localvaluesextended, ("$_\%", " $_\%") ;
+ }
+ }
+ push @values,@localvaluesextended;