vBulletin Search Engine Optimization
| |||||||
| Register | FAQ | Members List | Calendar | Search | Today's Posts | Mark Forums Read |
| ||||
| The following bug has been logged online: Bug reference: 2309 Logged by: Yury Don Email address: yura@vpcit.ru PostgreSQL version: 8.1.3 Operating system: Linux (Debian) Description: Wrong string comparison Details: Looks like string comparison operators ignore spaces isnside of string. Because of this sorting on text fields is wrong. mdb=# select 'a z'::text>'ad'::text; ?column? ---------- t ---------------------------(end of broadcast)--------------------------- TIP 1: if posting/reading through Usenet, please send an appropriate subscribe-nomail command to majordomo@postgresql.org so that your message can get through to the mailing list cleanly |
| |||
| "Yury Don" <yura@vpcit.ru> writes: > Looks like string comparison operators ignore spaces isnside of string. It's not wrong, it's just following the rules of the locale. You should initdb the database with LANG=C if you want plain ASCII sorting. regards, tom lane ---------------------------(end of broadcast)--------------------------- TIP 3: Have you checked our extensive FAQ? http://www.postgresql.org/docs/faq |
| |||
| Hi, On Mar 09 02:00, Yury Don wrote: > Looks like string comparison operators ignore spaces isnside of string. > Because of this sorting on text fields is wrong. > > mdb=# select 'a z'::text>'ad'::text; > ?column? > ---------- > t PostgreSQL relies on your locale for collation. Therefore, first you need to check if your locale settings are working. For instance: $ TEXT="a z\nad" $ echo -e $TEXT | LC_COLLATE=tr_TR.iso88599 sort ad a z $ echo -e $TEXT | LC_COLLATE=C sort a z ad Regards. ---------------------------(end of broadcast)--------------------------- TIP 2: Don't 'kill -9' the postmaster |
| ||||
| On Friday 10 March 2006 12:36, Volkan YAZICI wrote: > Hi, > > On Mar 09 02:00, Yury Don wrote: > > Looks like string comparison operators ignore spaces isnside of string. > > Because of this sorting on text fields is wrong. > > > > mdb=# select 'a z'::text>'ad'::text; > > ?column? > > ---------- > > t > > PostgreSQL relies on your locale for collation. Therefore, first you > need to check if your locale settings are working. For instance: > > $ TEXT="a z\nad" > $ echo -e $TEXT | LC_COLLATE=tr_TR.iso88599 sort > ad > a z > $ echo -e $TEXT | LC_COLLATE=C sort > a z > ad > > > Regards. > My locale is KOI8-R and sorting in PostgreSQL corresponds to sorting in locale. I just didn't expect that sorting will be this way ... -- Best regards, Yury Don ---------------------------(end of broadcast)--------------------------- TIP 1: if posting/reading through Usenet, please send an appropriate subscribe-nomail command to majordomo@postgresql.org so that your message can get through to the mailing list cleanly |