Re: BUG #4999: select 'a' < 'A' is true, but should be false . . .
От
Peter Eisentraut
Тема
Re: BUG #4999: select 'a' < 'A' is true, but should be
false . . .
Дата
Msg-id
1251104017.10096.6.camel@vanquo.pezone.net
Ответ на
BUG #4999: select 'a' < 'A' is true, but should be false . . . (Brian Ceccarelli)
Список
Дерево обсуждения
BUG #4999: select 'a' < 'A' is true, but should be false . . . "Brian Ceccarelli" <ceccareb@talussoftware.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 . . . "Brian Ceccarelli" <ceccareb@talusmusic.com>
Re: BUG #4999: select 'a' < 'A' is true, but should be false .
. . Robert Haas <robertmhaas@gmail.com>
Re: BUG #4999: select 'a' < 'A' is true, but should be
false . . . Alvaro Herrera <alvherre@commandprompt.com>
Re: BUG #4999: select 'a' < 'A' is true, but should be false . . . Greg Stark <gsstark@mit.edu>
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 .
. . Greg Stark <gsstark@mit.edu>
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 .
. . Greg Stark <gsstark@mit.edu>
Re: BUG #4999: select 'a' < 'A' is true, but should be false . . . Robert Haas <robertmhaas@gmail.com>
Re: BUG #4999: select 'a' < 'A' is true, but should be false . . . Tom Lane <tgl@sss.pgh.pa.us>
Re: BUG #4999: select 'a' < 'A' is true, but should be false . . . Tom Lane <tgl@sss.pgh.pa.us>
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 . . . Tom Lane <tgl@sss.pgh.pa.us>
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.
В списке pgsql-bugs по дате отправления
От: Alvaro Herrera
Дата: