4
SELECT vm.value FROM vm ORDER BY vm.value ASC;

結果:

.
0
0%
0.0
0.964
%.0f
%.0f mph
-1.0°
11/1
11-14-1981
112 mph
11:48:43
%1$.1f mph %2$@
1/2
12.5˚
1/4
195 lb
%.1f°
2 days ago
%.2f
2º out-in
3/4
3.5
3.6
3D
3 days ago
4º closed
5'10''
5”10”
Account

ASCII / Unicodeの数字は、パーセントや他の文字と交互にならないように、互いにしっかりと続く必要があることを思い出すことができます。

4

1 に答える 1

6

ASCII / Unicodeの数字は、パーセントや他の文字と交互にならないように、互いにしっかりと続く必要があることを思い出すことができます。

これは一部のロケールに適用されますが、他のロケールには適用されません。明らかに、それはあなたが使用しているものには適用されません。SQLで発行show lc_collateして、使用されているロケールを確認します。

9.1を含む最近のバージョンのPGでは、クエリごとに特定のロケールを使用して、次のように並べ替えることができます。

SELECT vm.value FROM vm ORDER BY vm.value COLLATE "C";

質問に示されている特定のデータの場合、これは期待どおりに並べ替えられます。

于 2013-02-21T19:27:32.377 に答える