SET COLLATE 命令
指定后续索引和排序操作中字符字段的排序规则序列。
语法
SET COLLATE TO cSequenceName
参数
cSequenceName
指定排序规则序列。 下表介绍了可用的排序规则序列选项。
选项 | 语言 |
---|---|
荷兰语 | 荷兰语 |
GENERAL | 英语、法语、德语、现代西班牙语、葡萄牙语和其他西欧语言 |
德语 | 德语电话簿订单 (DIN) |
冰岛 | 冰岛语 |
机 | 计算机 (早期 FoxPro 版本的默认排序规则序列) |
NORDAN | 挪威语、丹麦语 |
西班牙语 | 传统西班牙语 |
SWEFIN | 瑞典语、芬兰语 |
UNIQWT | 唯一权重 |
注意
指定 SPANISH 选项时, ch 是单个字母,在 c 和 d 之间排序, ll 在 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 关键字 (keyword) 指定数据源的排序规则序列。 这与发出以下命令相同:
SET COLLATE TO cSequenceName
注解
SET COLLATE 使你可以对包含任何受支持语言的重音字符的表进行排序。 更改 SET COLLATE 的设置不会影响以前打开的索引的排序顺序。 Visual FoxPro 自动维护现有索引,从而灵活地创建许多不同类型的索引,即使对于同一字段也是如此。
例如,如果创建的索引将 SET COLLATE 设置为 GENERAL,并且 SET COLLATE 设置后来更改为 SPANISH,则索引将保留常规排序规则序列。