What's wrong? :) First of all, it is using dynamic sql. Use a placeholder instead:

Second, passing an optional clause like this can actually slow things down. You should instead have two queries, to have execution shorter and cleaner. Regardless, assuming CASE is supported, and no values have underscore or percent signs in them, you can change it to:

Tag1 LIKE CASE ? WHEN NULL THEN Tag1 ELSE ? END AND Tag2 LIKE CASE ? WHEN NULL THEN Tag2 ELSE ? END

If using =, it would be better, but the point is, checking equality for a column against itself is better then LIKE '%'. Another option, assuming any character can be guaranteed to not be used, for example '!':

? IN (Tag1, '!') AND ? IN(Tag2, '!');

Of course, an ugly where construct should also work:

(? IS NULL OR Tag1 LIKE ?) AND (? IS NULL OR Tag2 LIKE ?);

In reply to Re: DBI SQLite statement problem with % by Pope-O-Matik
in thread DBI SQLite statement problem with % by Anonymous Monk

Title:
Use:  <p> text here (a paragraph) </p>
and:  <code> code here </code>
to format your post, it's "PerlMonks-approved HTML":



  • Posts are HTML formatted. Put <p> </p> tags around your paragraphs. Put <code> </code> tags around your code and data!
  • Titles consisting of a single word are discouraged, and in most cases are disallowed outright.
  • Read Where should I post X? if you're not absolutely sure you're posting in the right place.
  • Please read these before you post! —
  • Posts may use any of the Perl Monks Approved HTML tags:
    a, abbr, b, big, blockquote, br, caption, center, col, colgroup, dd, del, details, div, dl, dt, em, font, h1, h2, h3, h4, h5, h6, hr, i, ins, li, ol, p, pre, readmore, small, span, spoiler, strike, strong, sub, summary, sup, table, tbody, td, tfoot, th, thead, tr, tt, u, ul, wbr
  • You may need to use entities for some characters, as follows. (Exception: Within code tags, you can put the characters literally.)
            For:     Use:
    & &amp;
    < &lt;
    > &gt;
    [ &#91;
    ] &#93;
  • Link using PerlMonks shortcuts! What shortcuts can I use for linking?
  • See Writeup Formatting Tips and other pages linked from there for more info.