X-Git-Url: http://wagnertech.de/gitweb/gitweb.cgi/mfinanz.git/blobdiff_plain/88dea78ecdb77761f71c5016ca97e53b2d55d9d3..9c5f94c0359a8f2c0dba93b5e9bdef99f332fcc8:/SL/DBUtils.pm diff --git a/SL/DBUtils.pm b/SL/DBUtils.pm index e8cd304ee..d060bcb8e 100644 --- a/SL/DBUtils.pm +++ b/SL/DBUtils.pm @@ -6,7 +6,7 @@ require Exporter; our @ISA = qw(Exporter); our @EXPORT = qw(conv_i conv_date conv_dateq do_query selectrow_query do_statement - dump_query quote_db_date + dump_query quote_db_date like selectfirst_hashref_query selectfirst_array_query selectall_hashref_query selectall_array_query selectall_as_map @@ -348,9 +348,9 @@ sub add_token { id => \&conv_i, bool => \&conv_b, date => \&conv_date, - start => sub { $_[0] . '%' }, - end => sub { '%' . $_[0] }, - substr => sub { '%' . $_[0] . '%' }, + start => sub { trim($_[0]) . '%' }, + end => sub { '%' . trim($_[0]) }, + substr => sub { like($_[0]) }, ); my $_long_token = sub { @@ -386,6 +386,12 @@ sub add_token { return ($token, @vals); } +sub like { + my ($string) = @_; + + return "%" . SL::Util::trim($string // '') . "%"; +} + 1; @@ -459,6 +465,12 @@ Database version of conv_date. Quotes STR before returning. Returns 'NULL' if ST Treats STR as a database date, quoting it. If STR equals current_date returns an escaped version which is treated as the current date by Postgres. Returns 'NULL' if STR is empty. +=item like STR + +Turns C into an argument suitable for SQL's C and C +operators by Trimming the string C (removes leading and trailing +whitespaces) and prepending and appending C<%>. + =back =head2 QUERY FUNCTIONS