da_DK.utf8ロケールで作成されたPostgreSQL 8.4データベースがあります。PostgreSQLは注文時にダッシュを無視します
dbname=> show lc_collate;
lc_collate
------------
da_DK.utf8
(1 row)
文字を変更する列で注文する表から何かを選択すると、私は奇妙な動作IMOを取得します。その結果をご注文の際にPostgreSQLは値を接頭辞ダッシュ、例えばを無視します:
select name from mytable order by name asc;
name
----------------
Ad...
Ae...
Ag...
- Ak....
At....
のようなものを返すことがダッシュプレフィックスは無視しているようです。ダッシュプレフィックスは、デフォルトでは無視されますないのはなぜ
name
----------------
- Ak....
Ad...
Ae...
Ag...
At....
:
私が注文時にlatin1のために列を変換することによって、この問題を解決することができます
select name from mytable order by convert_to(name, 'latin1') asc;
のIは、予想通りの結果を得ますか?その行動を変えることはできますか?
あなたはどのようなOSを使っているようではないですか? Windows 7では正常に動作しますが、convert_to()は必要ありません。 –
私はUbuntuサーバー10.10を実行しています。PostgreSQLはバージョン8.4.7です。正確には – HakonB