Postgresql:处理文本,检测按字母顺序排列的行

Postgresql:处理文本,检测按字母顺序排列的行,postgresql,text,string-metric,Postgresql,Text,String Metric,我有一些按字母顺序(大部分)处理的文本,例如,这些是每个段落的第一个单词: 阿德兰托 阿古拉山 阿拉米达 奥尔巴尼 老奥尔巴尼 新奥尔巴尼 阿罕布拉 阿利索·维乔 阿尔图拉斯 因此,上面的每个词都代表段落的开头,例如: 阿德兰托,加利福尼亚州圣贝纳迪诺县的一座城市,位于维克多维尔西北约9英里(14公里),位于大洛杉矶地区内陆帝国的高沙漠部分 文本每个条目可以有许多段落,因此不按字母顺序排列的段落将被视为新条目 所以每个条目对应一个地方 在该示例中,O(ld)在A(lbany)之后,因此旧

我有一些按字母顺序(大部分)处理的文本,例如,这些是每个段落的第一个单词:

  • 阿德兰托
  • 阿古拉山
  • 阿拉米达
  • 奥尔巴尼
  • 老奥尔巴尼
    • 新奥尔巴尼
  • 阿罕布拉
  • 阿利索·维乔
  • 阿尔图拉斯
因此,上面的每个词都代表段落的开头,例如:

阿德兰托,加利福尼亚州圣贝纳迪诺县的一座城市,位于维克多维尔西北约9英里(14公里),位于大洛杉矶地区内陆帝国的高沙漠部分

文本每个条目可以有许多段落,因此不按字母顺序排列的段落将被视为新条目

所以每个条目对应一个地方

在该示例中,O(ld)在A(lbany)之后,因此
旧奥尔巴尼
是一个条目,但N(ew)在O(ld)之前,因此
新奥尔巴尼
旧奥尔巴尼
的延续

我的问题是:除了在Postgresql中使用
奥尔巴尼
老奥尔巴尼
/
新奥尔巴尼
的第一个字母之间的ASCII字符差异之外,还有什么已经存在的吗?例如,ASCII('A')-ASCII('O')给出-14


那么,我是否只在第一个字符上使用ASCII值?或者有更通用的解决方案吗?

目前,我正在使用文本首字母之间的ASCII差异,与前面的
行.description
以及下一行.description相比,例如

ABS (ASCII (substring ( currentRow.description, 1,1 ) )  - 
ASCII ( substring ( previousRow.description, 1 ,1 ) ) 

这似乎更像是一个谜,而不是一个问题。“性格差异”应该是什么?它与其他的有什么关系?你的目标是什么?你的问题是什么?您的Postgres版本是什么?您的表定义是什么(
\d tbl
在psql中)?