Обсуждение: order by
Is there a known problem with the SQL order by clause within postgres version 7.2.3?
I am trying to sort a field which holds file names that have some spaces as well non-alphanumeric characters, including underscores (see below).
The results of:
select study_name from study order by study_name;
Study1a
Study 1b
Study 1c
Study1d
The results of sorting in Perl (which uses Linux's underlying sort function)
Study 1c
Study 1b
Study1a
Study1d
Is there any way around this difference? Blank spaces should show up first in the sort.
Thanks
Jodi
_______________________________
Jodi L Kanter
BioInformatics Database Administrator
University of Virginia
(434) 924-2846
jkanter@virginia.edu
> Is there a known problem with the SQL order by clause within > postgres version 7.2.3? I am trying to sort a field which holds file > names that have some spaces as well non-alphanumeric characters, > including underscores (see below). > > The results of: > select study_name from study order by study_name; > > Study1a > Study 1b > Study 1c > Study1d > > The results of sorting in Perl (which uses Linux's underlying sort > function) > > Study 1c > Study 1b > Study1a > Study1d > > Is there any way around this difference? Blank spaces should show up > first in the sort. I made a test table with varchar field and filled it with your values. I got the same result as in Perl. I have Postgresql 7.3. I'm not sure what you really want to get. template1=# create table test (x varchar); template1=# insert into test values ('Study1a'); template1=# insert into test values ('Study 1b'); template1=# insert into test values ('Study 1c'); template1=# insert into test values ('Study1d'); template1=# SELECT * from test order by x asc; x -----------Study 1cStudy 1bStudy1aStudy1d (4 rows) Regards, Tomasz Myrta
On Wed, 26 Mar 2003, Jodi Kanter wrote: > Is there a known problem with the SQL order by clause within postgres > version 7.2.3? I am trying to sort a field which holds file names that > have some spaces as well non-alphanumeric characters, including > underscores (see below). > > The results of: > select study_name from study order by study_name; > > > Study1a > Study 1b > Study 1c > Study1d > > > The results of sorting in Perl (which uses Linux's underlying sort function) > > Study 1c > Study 1b > Study1a > Study1d > > Is there any way around this difference? Blank spaces should show up > first in the sort. Are you in "C" locale or something like "en_US"? In the latter, the first is the "correct" ordering.