hiragana中日语单词的postgresql排序顺序
我有一个9.6.2版本的postgresql数据库,编码为UTF8,排序规则为en_GB.UTF8。我的一个表中有一个字段仅包含日语平假名字符。问题是通过SQL以正常方式对该字段进行排序。。。按[字段名称]排序。。。至少不会产生我期望的结果。相反,排序就好像行首先按字段内容的长度排序,然后才按字符排序一样。例如,与其得到: あめ うえ おとこ かわり き し ひ 如我所料,订单如下: き し ひ あめ うえ おとこ かわり 我缺少什么?尝试显式设置排序规则Chiragana中日语单词的postgresql排序顺序,postgresql,sorting,unicode,Postgresql,Sorting,Unicode,我有一个9.6.2版本的postgresql数据库,编码为UTF8,排序规则为en_GB.UTF8。我的一个表中有一个字段仅包含日语平假名字符。问题是通过SQL以正常方式对该字段进行排序。。。按[字段名称]排序。。。至少不会产生我期望的结果。相反,排序就好像行首先按字段内容的长度排序,然后才按字符排序一样。例如,与其得到: あめ うえ おとこ かわり き し ひ 如我所料,订单如下: き し ひ あめ うえ おとこ かわり 我缺少什么?尝试显式设置排序规则C t=# with a as (sel
t=# with a as (select string_to_array('あめ うえ おとこ かわり き し ひ' COLLATE "en_GB.UTF-8",' ') a) select unnest(a) from a order by 1;
unnest
--------
き
し
ひ
あめ
うえ
おとこ
かわり
(7 rows)
t=# with a as (select string_to_array('あめ うえ おとこ かわり き し ひ' COLLATE "C",' ') a) select unnest(a) from a order by 1;
unnest
--------
あめ
うえ
おとこ
かわり
き
し
ひ
(7 rows)
t=带有作为选择字符串的数组'あめ うえ おとこ かわり き し ひ',' ' a按1从订单中选择unnesta;向我展示了你在mac上的预期结果…谢谢你-在我的mac postgres 9.6.2和centos 7 postgres 9.2.18上,你的表达结果出现了意想不到的顺序,单词长度似乎比实际字符数还要多。哦-这当然有效,而且肯定是一条关于发生了什么的重要线索。再次感谢您的帮助!那么请接受和/或投票支持我的答案-我正在努力建立良好的声誉。值得注意的是,以下操作现在可以正常工作表名为'vocabs',字段名为'kana':通过kana COLLATE C从vocabs ORDER中选择kana;而且,由于我是在RubyonRails的上下文中工作的,模型名为“Vocab”,下面的代码也可以正常工作:Vocab.order'kanacollatec'