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

Postgresql: Processing Text, Detect out of Alphabetical order rows

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

所以上面的每个词代表一个段落的开始例如:

Adelanto, a city in San Bernardino County, California about 9 miles (14 km) northwest of Victorville in the High Desert portion of the Inland Empire of the Greater Los Angeles Area...

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

所以每个条目都会对应一个地方。

在示例中,O(ld) 在 A(lbany) 之后,因此 Old Albany 是一个 Entry,但是 N(ew) 在 O(ld) 之前,因此 New Albany 的延续Old Albany.

我的问题是:除了在Postgresql中使用AlbanyOld Albany/New Albany的第一个字母之间的ASCII字符差异之外,是否已经存在其他东西?例如。 ASCII ('A') - ASCII ('O') 给出 -14.

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

目前我正在使用文本首字母之间的 ASCII 差异,与 previousRow.descriptionnextRow.description 相比,例如

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