[pgsql-jp: 37502] Re: 日本語の order について
T.Suzuki
t_suzuki @ kenwood-eng.co.jp
2006年 8月 28日 (月) 18:59:33 JST
鈴木@KEGと申します。
野村さん wrote:
> 御紹介頂いた過去のMLは、initdb --no-locale に関する事ですね?
> これらは既に行っており、そこで書かれているような無秩序な並びではなくなっ
> ています。
> 問題は、文字数と文字順序のプライオリティーなんですが、7.4と8.1で違うので
> はないかと思います。7.4の方が使いやすいのですが、実際にはどのように並べ
> られる仕様なのかがわかりません。8.1 においても 7.4 と同様の結果が欲しい
> のですが、バグならば修正を待たざるを得ませんが、仕様変更ならば、こちらで
> 何か方策を考えなければなりません。
> 8.1 をお使いの方で、7.4 同様の結果を得ていらっしゃる方はおられませんか?
Cロケールでインストールした、Windows版での実行結果です。
CREATE DATABASE sample_db WITH ENCODING 'UTF8';
select version();
"PostgreSQL 8.1.3 on i686-pc-mingw32, compiled by GCC gcc.exe (GCC) 3.4.4 (mingw special)"
*テーブルの作成は省略*
select * from t order by 1;
c (text)
"あ"
"あい"
"い"
昇順に並びました。
ORDER BY問い合わせの並び順は、ロケールの設定に依存します。
お手持ちの環境を、念のため、今一度確認してみてはどうでしょうか?
確認方法と、実行結果:
select name, setting from pg_settings where name like 'lc_%';
"lc_collate";"C"
"lc_ctype";"C"
"lc_messages";"C"
"lc_monetary";"C"
"lc_numeric";"C"
"lc_time";"C"
-----------------------------------------
鈴木 徹 (SUZUKI Toru)
Kenwood Engineering Corporation.
-----------------------------------------
pgsql-jp メーリングリストの案内