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中使用Albany
和Old Albany
/New Albany
的第一个字母之间的ASCII字符差异之外,是否已经存在其他东西?例如。 ASCII ('A') - ASCII ('O') 给出 -14.
那么我是否只在第一个字符上使用 ASCII 值?或者有更通用的解决方案吗?
目前我正在使用文本首字母之间的 ASCII 差异,与 previousRow.description
和 nextRow.description
相比,例如
ABS (ASCII (substring ( currentRow.description, 1,1 ) ) -
ASCII ( substring ( previousRow.description, 1 ,1 ) )
我有一些经过处理的文本(大部分)是按字母顺序排列的,例如这些是每个段落的第一个词:
- 阿德兰托
- 阿古拉山
- 阿拉米达
- 奥尔巴尼
- 老奥尔巴尼
- 新奥尔巴尼
- 阿罕布拉
- 亚里索维耶荷
- 阿尔图拉斯
所以上面的每个词代表一个段落的开始例如:
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中使用Albany
和Old Albany
/New Albany
的第一个字母之间的ASCII字符差异之外,是否已经存在其他东西?例如。 ASCII ('A') - ASCII ('O') 给出 -14.
那么我是否只在第一个字符上使用 ASCII 值?或者有更通用的解决方案吗?
目前我正在使用文本首字母之间的 ASCII 差异,与 previousRow.description
和 nextRow.description
相比,例如
ABS (ASCII (substring ( currentRow.description, 1,1 ) ) -
ASCII ( substring ( previousRow.description, 1 ,1 ) )