From: | Bruce Momjian <maillist(at)candle(dot)pha(dot)pa(dot)us> |
---|---|
To: | pgsql(at)brazilinfo(dot)com (PostgreSQL) |
Cc: | pgsql-general(at)postgreSQL(dot)org |
Subject: | Re: [GENERAL] LIKE operator |
Date: | 1999-04-23 20:55:40 |
Message-ID: | 199904232055.QAA13980@candle.pha.pa.us |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-general |
[Charset iso-8859-1 unsupported, filtering to ASCII...]
> Hi,
>
> With mSQL I used to perform queries like below from within PHP:
>
> select field1, field2 from table1 where field1 like '%$some_variable%'
>
> where the '%' in the LIKE clause matches 0 or more characters of any value.
> That is, the query above would match the strings that contain
> '$some_variable' OR any string if $some_variable is empty.
>
> For example: my table has two rows with the first record containing
> field1='abc' and the second record containing field1='cde'.
>
> If '$some_variable' is empty, then my query would return both rows.
> If $some_variable='bc', then the query would return only the row where
> field1='abc'.
>
> With PostgreSQL I experience the following:
>
> If '$some_variable' is empty, then my query returns *nothing*.
> If $some_variable='bc', then the query would return only the row where
> field1='abc'.
>
> As the value of '$some_variable' is to be filled by some user while posting
> a form, I don't know in advance if it is going to be empty or not.
>
> How can I make the query results to be exactly as with mSQL without having
> to alter my query 'throwing out' every part of the 'where' clause where
> '$some_variable' is empty?
>
With 6.5 beta, I get:
test=> create table t (x text);
CREATE
test=> insert into t values ('abc');
INSERT 18697 1
test=> insert into t values ('bcd');
INSERT 18698 1
test=> select * from t where x like '%%';
x
---
abc
bcd
(2 rows)
Not sure what 6.4 does, but I will say I overhauled the LIKE code in
6.5beta.
--
Bruce Momjian | http://www.op.net/~candle
maillist(at)candle(dot)pha(dot)pa(dot)us | (610) 853-3000
+ If your life is a hard drive, | 830 Blythe Avenue
+ Christ can be your backup. | Drexel Hill, Pennsylvania 19026
From | Date | Subject | |
---|---|---|---|
Next Message | PostgreSQL | 1999-04-23 23:01:58 | Re: [GENERAL] LIKE operator |
Previous Message | JT Kirkpatrick | 1999-04-23 20:13:25 | win98 odbc problem? some other limitation? |