Peter Eisentraut:标点符号和空格的排序规则如何运作
💡
原文英文,约1400词,阅读约需5分钟。
📝
内容提要
本文介绍了 PostgreSQL 中标点符号和空格的排序规则,包括四种处理变量排序元素的方式:non-ignorable、blanked、shifted 和 shift-trimmed。排序结果不同,需要根据实际需求选择。使用 C 库时,排序规则由库自动选择;使用 ICU 库时,可以通过指定 locale 来选择排序规则。
🎯
关键要点
- 本文介绍了 PostgreSQL 中标点符号和空格的排序规则。
- 用户对标点符号和空格的排序处理常常感到困惑。
- Unicode 提供了四种处理变量排序元素的方式:non-ignorable、blanked、shifted 和 shift-trimmed。
- non-ignorable:标点符号和空格被视为普通排序元素。
- blanked:标点符号和空格被完全忽略。
- shifted:标点符号和空格的权重被移至第四级,普通元素的第四级权重设置为FFFF。
- shift-trimmed:类似于shifted,但去掉尾部的FFFF序列。
- 选择排序规则取决于使用的库,C库和ICU库的默认行为不同。
- C库在2.28版本后采用shifted行为,ICU库默认采用non-ignorable行为。
- 可以通过指定locale来选择ICU库中的排序规则。
🏷️
标签
➡️