On 10/31/10 12:28 PM, Radu Ilies wrote:
> id, char
> name, text
> The first row is:
> name='Radu Ilies'
> The following queries does not find any result (fail):
> SELECT * FROM my_table WHERE id LIKE 'radu'
> SELECT * FROM my_table WHERE id ILIKE 'radu'
'radu'::char ==> 'radu_____________________' (21 spaces).
the = equality coerces the 'radu'::text to 'radu
'::char before doing the comparision.
LIKE/ILIKE doesn't think 'radu_____________________' is LIKE 'radu'
use TEXT for character types unless you have a very specific requirement
to limit them to a maximum length.
In response to
pgsql-bugs by date
|Next:||From: spche||Date: 2010-11-01 10:18:02|
|Subject: BUG #5738: btree index search bug|
|Previous:||From: Jon Nelson||Date: 2010-11-01 01:48:32|
|Subject: Re: [PERFORM] typoed column name, but postgres didn't grump|