But it is not perfect as you can see.#!/usr/bin/perl -w use strict; my $searchstring = "aaaa OR bbbb OR cccc OR dddd"; $searchstring =~ s/(\w+) ?(OR|NOT|AND)|(\w+)$/\(fieldname \= '$1$3'\) +$2/g; print "SELECT * FROM tablename WHERE $searchstring\n"; __OUTPUT__ Use of uninitialized value in concatenation (.) or string at a.pl line + 7. Use of uninitialized value in concatenation (.) or string at a.pl line + 7. Use of uninitialized value in concatenation (.) or string at a.pl line + 7. Use of uninitialized value in concatenation (.) or string at a.pl line + 7. Use of uninitialized value in concatenation (.) or string at a.pl line + 7. SELECT * FROM tablename WHERE (fieldname = 'aaaa') OR (fieldname = 'bb +bb') OR (fieldname = 'cccc') OR (fieldname = 'dddd')
In reply to Re: Parsing a boolean search string for SQL query
by zby
in thread Parsing a boolean search string for SQL query
by bradcathey
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |