Thread: BUG #15919: When sorting, does the result show that S > s is correct?
BUG #15919: When sorting, does the result show that S > s is correct?
From
PG Bug reporting form
Date:
The following bug has been logged on the website: Bug reference: 15919 Logged by: 强 魏 Email address: 1726002692@qq.com PostgreSQL version: 11.4 Operating system: CentOS Linux release 7.6.1810 (Core) Description: postgres@[local]:5433[postgres]#select * from t order by info desc; +------+ | info | +------+ | S | | s | +------+ (2 rows) Time: 0.718 ms postgres@[local]:5433[postgres]#select * from t order by info asc; +------+ | info | +------+ | s | | S | +------+ (2 rows) Time: 0.789 ms postgres@[local]:5433[postgres]#select ascii('s') AS "s",ascii('S') AS "S"; +-----+----+ | s | S | +-----+----+ | 115 | 83 | +-----+----+ (1 row) Time: 0.381 ms postgres@[local]:5433[postgres]#show lc_collate postgres-# ; +-------------+ | lc_collate | +-------------+ | en_US.UTF-8 | +-------------+ (1 row) Time: 0.407 ms
PG Bug reporting form <noreply@postgresql.org> writes: > postgres@[local]:5433[postgres]#select * from t order by info asc; > +------+ > | info | > +------+ > | s | > | S | > +------+ > (2 rows) This is the expected behavior for en_US locale, as you can easily confirm outside of Postgres: $ (echo s; echo S) | LANG=en_US sort s S Perhaps you are confusing it with C locale? $ (echo s; echo S) | LANG=C sort S s regards, tom lane