如何按照a到z然后0到9对postgres顺序的数据进行排序

时间:2015-12-17 12:00:51

标签: postgresql

这是我的数据:

0x55

PostgreSQL默认数字具有更高的优先级我需要数据如:

Bensus Data 1872 1 Bombay
Bensus Data 1872 2 Bombay
Bensus Data 1872 Bombay
Bensus Data 1872 Combay

在数据中看不到具体的结构。

1 个答案:

答案 0 :(得分:0)

您可以使用regexp_replace进行无数字排序。在这里,我正在用波形符([0-9])替换任何数字(~),该符号对below any letter进行排序。 g lobal 'g'标志表示替换所有匹配而不是第一个匹配。

select  *
from    YourTable
order by
        regexp_replace(col1, '[0-9]', '~', 'g')
,       col1

Example at SQL Fiddle.