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数字应该紧密相连,不要与百分数和其他字符交替.
解决方法
I can remember that ASCII/Unicode digits should follow each other
tightly not alternated with percents and other characters.
这适用于某些区域设置,但不适用于其显然它不适用于您正在使用的那个.问题在sql中显示lc_collate以查看正在使用的语言环境.
使用最新版本的PG(包括9.1),您可以使用每个查询特定的区域设置进行排序,如下所示:
SELECT vm.value FROM vm ORDER BY vm.value COLLATE "C";
对于问题中显示的特定数据,这将按您的预期排序.