Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/algorithm/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Postgresql 如何按从a到z再从0到9的顺序对postgres中的数据进行排序_Postgresql - Fatal编程技术网

Postgresql 如何按从a到z再从0到9的顺序对postgres中的数据进行排序

Postgresql 如何按从a到z再从0到9的顺序对postgres中的数据进行排序,postgresql,Postgresql,以下是我的数据: Bensus Data 1872 1 Bombay Bensus Data 1872 2 Bombay Bensus Data 1872 Bombay Bensus Data 1872 Combay 默认情况下,PostgreSQL数字具有更高的优先级我需要以下数据: Bensus Data 1872 Bombay Bensus Data 1872 1 Bombay Bensus Data 1872 2 Bombay Bensus Data 1872 Combay 在数据中

以下是我的数据:

Bensus Data 1872 1 Bombay
Bensus Data 1872 2 Bombay
Bensus Data 1872 Bombay
Bensus Data 1872 Combay
默认情况下,PostgreSQL数字具有更高的优先级我需要以下数据:

Bensus Data 1872 Bombay
Bensus Data 1872 1 Bombay
Bensus Data 1872 2 Bombay
Bensus Data 1872 Combay
在数据中看不到特定结构。

您可以使用无数字排序。在这里,我将任何数字(
[0-9]
)替换为平铺字符(
~
),用于排序。global
'g'
标志意味着替换所有匹配项,而不仅仅是第一个匹配项

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

您可以使用无编号排序。在这里,我将任何数字(
[0-9]
)替换为平铺字符(
~
),用于排序。global
'g'
标志意味着替换所有匹配项,而不仅仅是第一个匹配项

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

孟买本苏斯数据1872 1 Combay会去哪里?先生,请再看一次问题1.我更改了数据为什么顺序是B,然后是1和2,然后是C?这对我来说没什么意义。否则,如果是因为在1和2后面有“B”,我想你需要一个函数,“孟买本萨斯数据1872 1 Combay”会去哪里?先生,请再看一次问题1.我更改了数据为什么顺序是B,然后是1和2,然后是C?这对我来说没什么意义。否则,如果是因为1和2后面有“B”,我想你需要一个函数。