Vit*_*mar 3 sorting postgresql
我与所有国家/地区有三种语言的桌子:英语、俄语和乌克兰语。对于前两种语言,排序是可以的。但对乌克兰国家的名称排序就不行了。
\n\n前两个位置上有两个字母'\xd1\x94'(ABC 中的第 8 个位置)和'\xd1\x96'(ABC 中的第 12 个位置),所有接下来的字母都排序良好。
如何防止这种行为?DB编码为utf-8。
\n小智 5
如果您使用的是 9.1,您可以将用于排序的排序规则添加到 ORDER BY 子句中:
SELECT *
FROM your_table
ORDER BY your_column COLLATE "ua_UA"
Run Code Online (Sandbox Code Playgroud)
排序规则的名称取决于您的操作系统 - 不确定乌克兰的正确名称是什么。但我想你明白了。
您可能还想阅读此博客文章:
http://www.depesz.com/index.php/2011/03/04/waiting-for-9-1-per-column-collation-support/