Re: BUG #18523: String compare not consistent
От | Laurenz Albe |
---|---|
Тема | Re: BUG #18523: String compare not consistent |
Дата | |
Msg-id | 3a173a9aba9650ce7ddf22af9c413a3d64debbf4.camel@cybertec.at обсуждение исходный текст |
Ответ на | BUG #18523: String compare not consistent (PG Bug reporting form <noreply@postgresql.org>) |
Ответы |
Re: BUG #18523: String compare not consistent
|
Список | pgsql-bugs |
On Wed, 2024-06-26 at 09:43 +0000, PG Bug reporting form wrote: > PostgreSQL version: 16.3 > Operating system: Windows vs Linux/Azure > > When I try the following on a Azure/Linux version of PostgreSQL i see some > strange results that are not correct. > On Windows the behavior is correct. > > select '|' < '0'; -- true, true, this is correct > select '|1' < '01'; -- false, true, Azure/Linux is wrong > select '||' < '0|'; -- true, true, this is correct > select '||1' < '0|1'; -- false, true, Azure/Linux is wrong > > When the first character compares <, then no matter what follows, it should > be <... That is certainly not a PostgreSQL bug, because PostgreSQL uses collations defined by the C library (or the ICU library, if you use that). So you'd have to complain to the authors of the respective library. Interestingly, glibc and ICU disagree about that: SELECT '|1' < '01' COLLATE "de_DE.utf8" AS glibc, '|1' < '01' COLLATE "de-AT-x-icu" AS icu; glibc │ icu ═══════╪═════ f │ t (1 row) Yours, Laurenz Albe
В списке pgsql-bugs по дате отправления: