BUG #18857: Abnormal string comparison results

PG Bug reporting form <noreply@postgresql.org>

From: PG Bug reporting form <noreply@postgresql.org>
To: pgsql-bugs@lists.postgresql.org
Cc: 2322370369@qq.com
Date: 2025-03-20T09:53:32Z
Lists: pgsql-bugs
The following bug has been logged on the website:

Bug reference:      18857
Logged by:          dlyixue Xu
Email address:      2322370369@qq.com
PostgreSQL version: 17.3
Operating system:   Ubuntu 22.04
Description:        

When I use a conditional query, I find that it returns results that are not
as expected. After checking, I found that there is a problem with string
comparison here.
As shown in the example below, on the ASCII table ‘?’ is larger than ‘&’. I
don't think ‘t’ should be returned here. In the MySQL database it does
return 0.
Is there some special consideration here?

postgres=# SELECT ('?' <= '&*CcCV5');
 ?column? 
----------
 t
(1 row)