Re: BUG #4999: select 'a' < 'A' is true, but should be false . . .
От | Brian Ceccarelli |
---|---|
Тема | Re: BUG #4999: select 'a' < 'A' is true, but should be false . . . |
Дата | |
Msg-id | 000601ca24b5$cf91a670$6eb4f350$@com обсуждение исходный текст |
Ответ на | Re: BUG #4999: select 'a' < 'A' is true, but should be false . . . (Peter Eisentraut <peter_e@gmx.net>) |
Ответы |
Re: BUG #4999: select 'a' < 'A' is true, but should be false .
. .
|
Список | pgsql-bugs |
Yes. I understand. It has all to do with Unicode collating sequence. I need to somehow remove this bug from the list, since it is not a bug. -----Original Message----- From: pgsql-bugs-owner@postgresql.org [mailto:pgsql-bugs-owner@postgresql.org] On Behalf Of Peter Eisentraut Sent: Monday, August 24, 2009 4:54 AM To: Brian Ceccarelli Cc: pgsql-bugs@postgresql.org Subject: Re: [BUGS] BUG #4999: select 'a' < 'A' is true, but should be false . . . On tor, 2009-08-20 at 20:24 +0000, Brian Ceccarelli wrote: > since the < and > comparison operators seem to be case insensitive: > > select 'a' < 'Z'; -- true > select 'a' < 'z'; -- true > select 'A' < 'Z'; -- true > select 'A' < 'z'; -- true > > select 'z' < 'A'; -- false > select 'z' < 'a'; -- false > select 'Z' < 'A'; -- false > select 'Z' < 'a'; -- false > > Any case A is < any case Z implies case-insensitive compare. Which would > imply that 'a' = 'A', but 'a' < 'A' is true. No, they are not "case insensitive". The way this works is with a multipass comparison algorithm: First, the letters are compared independent of case, then the case is compared. There is also an additional pass for comparing accents, but I forget at the moment which pass that is. Search for Unicode collation algorithm, if you are interested. -- Sent via pgsql-bugs mailing list (pgsql-bugs@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-bugs
В списке pgsql-bugs по дате отправления: