Re: no records returned

Поиск
Список
Период
Сортировка
Искать
От
Patrick Welche
Тема
Re: no records returned
Дата
Msg-id
20031026131526.C11519@quartz.newn.cam.ac.uk
Ответ на
Re: no records returned (Lynn.Tilby@asu.edu)
Список
Дерево обсуждения
no records returned Lynn.Tilby@asu.edu
Re: no records returned Patrick Welche <prlw1@newn.cam.ac.uk>
Re: no records returned Lynn.Tilby@asu.edu
Re: no records returned Patrick Welche <prlw1@newn.cam.ac.uk>
Re: no records returned "James Moe" <jimoe@sohnen-moe.com>
Re: no records returned Brian Hirt <bhirt@mobygames.com>
Re: no records returned Lynn.Tilby@asu.edu
Re: no records returned darren@crystalballinc.com
Re: no records returned Lynn.Tilby@asu.edu
On Sat, Oct 25, 2003 at 08:19:49PM -0700, Lynn.Tilby@asu.edu wrote:
... 
> Could you explain to a newbie WHY the like and % at
> the end of the literal works when the normal select does 
> not?

> > > ZRAN    |2003-10-03|    20031003|      731491|     20.25|      21.
      12345678

From that row, it looks as though your table definition says the first
column is a CHAR(8), rather than say varchar(8) or text. This means that
ZRAN is padded to 8 characters with spaces:

test=# create table zran (a char(8), b varchar(8), c text);
CREATE TABLE
test=# insert into zran values ('ZRAN','ZRAN','ZRAN');
INSERT 28334686 1
test=# select * from zran;
    a     |  b   |  c   
----------+------+------
 ZRAN     | ZRAN | ZRAN
(1 row)

test=# select * from zran where a='ZRAN    ';
    a     |  b   |  c   
----------+------+------
 ZRAN     | ZRAN | ZRAN
(1 row)

Because we were guessing your table definition, we couldn't just add 4 spaces
after ZRAN, so we suggested "where a like 'ZRAN%'". LIKE understands % to
mean "0 or more anything", so it would match 'ZRANNN' too, which might not
be what you want.. Most sensible might be to change your table definition..

Cheers,

Patrick
В списке pgsql-general по дате отправления
От: Martijn van Oosterhout
Дата:
От: Együd Csaba
Дата:
Сообщение: Problems using PGAdmin III
FAQ