我在Postgres中根据varchar字段订购了少量行的查询。人们似乎在Postgres的订货UTF8字符串错误:Postgres UTF8订购
例如:
“W”在UTF8是87,而“G”是103,但运行SELECT 'W' < 'g';
将返回false
,同时运行SELECT convert_to('W', 'SQL_ASCII') < convert_to('g', 'SQL_ASCII')';
将返回true
。
排序规则是en_US.UTF-8
。
对此行为有很好的解释吗?以及如何避免它?