On 10/31/10 12:28 PM, Radu Ilies wrote:
id, char[25]
name, text

The first row is:

id='radu'
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[25] ==>  'radu_____________________'     (21 spaces).

the = equality coerces the 'radu'::text to 'radu '::char[25] 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.





--
Sent via pgsql-bugs mailing list (pgsql-bugs@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-bugs

Reply via email to