Re: [SQL] SELECT... BETWEEN 'P' and 'Z' - Mailing list pgsql-sql

From Bruce Momjian
Subject Re: [SQL] SELECT... BETWEEN 'P' and 'Z'
Date
Msg-id 199901100629.BAA21372@candle.pha.pa.us
Whole thread Raw
In response to Re: [SQL] SELECT... BETWEEN 'P' and 'Z'  ("Tim Perdue, The Des Moines City.net" <tim@dmcity.net>)
List pgsql-sql
[Charset iso-8859-1 unsupported, filtering to ASCII...]
> What I did was make the Z lowercase, since lowercase Z would be a bigger
> number in the ASCII character set.
>
> So now I'm doing "where x between 'P' and 'z';"
>
> and I get everything that I want.
>

I think I know your problem.  Look at this:

    test=> create table test5 (x varchar(5));
    CREATE
    test=> insert into test5 values ('Z ');
    INSERT 18698 1
    test=> insert into test5 values ('P');
    INSERT 18699 1
    test=> insert into test5 values ('S');
    INSERT 18700 1
    test=> insert into test5 values ('Z');
    INSERT 18701 1
    test=> select * from test5 where x between 'P' and 'Z';
    x
    -
    P
    S
    Z
    (3 rows)

Notice in a varchar field, spaces are significant.  This is not true in char(5)
field, so 'Z ' is not between 'P' and 'Z'.  We can change this, but I
think this the way it is supposed to work.  Using < and > yields the
same result.



--
  Bruce Momjian                        |  http://www.op.net/~candle
  maillist@candle.pha.pa.us            |  (610) 853-3000
  +  If your life is a hard drive,     |  830 Blythe Avenue
  +  Christ can be your backup.        |  Drexel Hill, Pennsylvania 19026

pgsql-sql by date:

Previous
From: "Tim Perdue, The Des Moines City.net"
Date:
Subject: Re: [SQL] SELECT... BETWEEN 'P' and 'Z'
Next
From: "Tim Perdue, The Des Moines City.net"
Date:
Subject: Re: [SQL] SELECT... BETWEEN 'P' and 'Z'