On Thu, 2002-02-28 at 12:58, John J. Allison wrote:
> When doing a select with a LIKE in the where clause,
> I always get 0 rows if I do not use a wildcard [_%].
> LIKE should act like = in this case (and the docs say so).
> A select without a from correctly returns 't'.
> I am using PostgreSQL 7.1.3 on Solaris.
>
> What am I missing?
> Should I ask pgsql-sql?
>
> Thanks,
>
> John Allison
> john@joss.ucar.edu
>
>
> catalog^> create table foo ( bar char(8) )
> CREATE
>
> catalog^> insert into foo values ( 'abc' )
> INSERT 38413 1
>
> catalog^> insert into foo values ( '2.20' )
> INSERT 38414 1
>
> catalog^> select * from foo
> bar
> ----------
> abc
> 2.20
> (2 rows)
>
> catalog^> select * from foo where bar like 'abc'
> bar
> -----
> (0 rows)
select * from foo where bar like 'abc ';
char(8) is right-padded with spaces. Use TEXT, or VARCHAR if you don't
want this sort of effect.
Regards,
Andrew.
>
> catalog^> select 'abc' like 'abc'
> ?column?
> ----------
> t
> (1 row)
This one will be type text, since no types are specified and that is
what PostgreSQL will prefer internally.
Cheers,
Andrew.
--
--------------------------------------------------------------------
Andrew @ Catalyst .Net.NZ Ltd, PO Box 11-053, Manners St, Wellington
WEB: http://catalyst.net.nz/ PHYS: Level 2, 150-154 Willis St
DDI: +64(4)916-7201 MOB: +64(21)635-694 OFFICE: +64(4)499-2267
Are you enrolled at http://schoolreunions.co.nz/ yet?