为后续索引和排序作中的字符字段指定排序规则序列。
语法
SET COLLATE TO cSequenceName
论据
cSequenceName
指定排序规则序列。 下表描述了可用的排序规则序列选项。
| 选项 | 语言 |
|---|---|
| 荷兰语 | 荷兰语 |
| 常规 | 英语、法语、德语、现代西班牙语、葡萄牙语和其他西欧语言 |
| 德语 | 德国电话簿订单 (DIN) |
| 冰岛 | 冰岛语 |
| 计算机 | 计算机(早期 FoxPro 版本的默认排序规则序列) |
| NORDAN | 挪威语、丹麦语 |
| 西班牙语 | 传统西班牙语 |
| SWEFIN | 瑞典语、芬兰语 |
| UNIQWT | 唯一权重 |
注释
指定 SPANISH 选项时, ch 是一个字母,用于在 c 和 d 之间进行排序, 并将 在 l 和 m 之间进行排序。
如果将排序规则序列选项指定为文本字符串,请务必将选项括在引号中:
SET COLLATE TO "SWEFIN"
MACHINE 是默认排序规则序列选项,是 Xbase 用户熟悉的序列。 字符在当前代码页中出现时排序。
常规可能更适合美国和西欧用户。 字符在当前代码页中出现时排序。 在低于 2.5 的 FoxPro 版本中,可能已使用 UPPER()或 LOWER() 函数创建索引,以将字符字段转换为一致的大小写。 在低于 2.5 的 FoxPro 版本中,可以改为指定常规排序规则序列选项并省略 UPPER() 转换。
如果指定 MACHINE 以外的排序规则序列选项,并且如果创建 .idx 文件,则始终创建压缩的 .idx。
使用 SET(“COLLATE”)返回当前排序规则序列。
可以使用 ODBC Visual FoxPro 设置对话框 或使用 SQLDriverConnect 连接字符串中的 Collate 关键字为数据源指定排序规则序列。 这与发出以下命令相同:
SET COLLATE TO cSequenceName
注解
通过 SET COLLATE,您可以对包含任何受支持语言的重音字符的表进行排序。 更改 SET COLLATE 的设置不会影响以前打开的索引的排序顺序。 Visual FoxPro 会自动维护现有索引,从而灵活地创建许多不同类型的索引,即使针对同一字段也是如此。
例如,如果使用 SET COLLATE 设置为 GENERAL 创建索引,并且 SET COLLATE 设置稍后更改为西班牙语,索引将保留 GENERAL 排序规则序列。