Re: LIKE with no wildcards problem - Mailing list pgsql-sql

From Ross J. Reedstrom
Subject Re: LIKE with no wildcards problem
Date
Msg-id 20020228194632.GD11120@rice.edu
Whole thread Raw
In response to LIKE with no wildcards problem  ("John J. Allison" <john@joss.ucar.edu>)
List pgsql-sql
On Thu, Feb 28, 2002 at 11:54:02AM -0700, 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?

The whitespace. Your field is of type CHAR(n), which pads all strings
to the defined width. This behavior is required by the standard. Try
using VARCHAR or TEXT instead.

Ross

> 
> 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)
> 
> catalog^> select * from foo where bar like 'abc%'
>    bar    
> ----------
>  abc     
> (1 row)
> 
> catalog^> select 'abc' like 'abc'
>  ?column? 
> ----------
>  t
> (1 row)
> 
> 
> 
> ---------------------------(end of broadcast)---------------------------
> TIP 4: Don't 'kill -9' the postmaster


pgsql-sql by date:

Previous
From: Ian Barwick
Date:
Subject: Re: LIKE with no wildcards problem
Next
From: Matthew Price
Date:
Subject: Can't get rid of constraint