Thread: Re: [SQL] SELECT... BETWEEN 'P' and 'Z'
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. --Tim -----Original Message----- From: Bruce Momjian <maillist@candle.pha.pa.us> To: tim@dmcity.net <tim@dmcity.net> Cc: pgsql-sql@hub.org <pgsql-sql@hub.org> Date: Saturday, January 09, 1999 7:48 PM Subject: Re: [SQL] SELECT... BETWEEN 'P' and 'Z' > >Tried it here: > > test=> create table test5(x char(50)); > CREATE > test=> insert into test5 values ('P'); > INSERT 18665 1 > test=> insert into test5 values ('Z'); > INSERT 18666 1 > test=> insert into test5 values ('S'); > INSERT 18667 1 > test=> select * from test5 where x between 'P' and 'Z'; > x > -------------------------------------------------- > P > Z > S > (3 rows) > >This is the 6.5 development tree, but should be the same on 6.4.*. > >-- > 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
[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