我在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
。
對此行爲有很好的解釋嗎?以及如何避免它?