S E T C O L L A T E 命 令

指定在后续索引和排序操作中
字符型字段的排序顺序
语 法
SET COLLATE TO cSequenceName
参 数 描 述
cSequenceName
指 定
排 序 顺 序
有 效
的 排 序 顺 序 有
选 项 语 言
DUTCH 荷兰语



GENERAL
英语 法语 德语 当代西班牙语 葡萄牙语和其他西欧语言

GERMAN
德国电话序列 DIN
ICELAND 冰岛语

MACHINE
机器语言 早期 FoxPro 版本中排序顺序的默认设置
NORDAN
挪威语 丹麦语
SPANISH 古典西班牙语
SWEFIN
瑞典语 芬兰语
UNIQWT 唯一重量














注
意 当 指 定 SPANISH 选 项 时 ch 是 排 在 c 和 d 之 间 的 单 个 字母
ll 排 在 l 和 m 之 间

如
果 指 定 的 排 序 序 列 是 原 义 字 符 串 应 该 用 引 号 把 选 项 括
起 来
SET COLLATE TO "SWEFIN"

MACHINE
是默认的排序顺序选项 也是 Xbase 用户很熟悉的排序方法 字符是按它们
在当前代码页中出现的顺序排序的






美国和西欧用户可能更喜欢使用
GENERAL 在这个选项中 字符的排序顺序与它们在当前代码页中出现的顺序相同
在 FoxPro 的 2.5 以前的版本中 可以在创建索引时使 用 UPPER ( ) 或
LOWER( ) 来操作字符字段 在 FoxPro 的 2.5 以后的版本中 可以指定GENERAL
排序顺序选项而省略 UPPER( ) 转换


注
意 如果指定的排序顺序选项不是 MACHINE 并创建了 .IDX 文件 则创建的
.IDX 文件是压缩的 .IDX 文件
使用
SET(“ COLLATE ” ) 可以返回当前的排序顺序

如果在
Visual FoxPro 的配置文件中加入如下一行 那么启动 Visual FoxPro
时将自动指定一种排序顺序
COLLATE = cSequenceName

也
可 以 执 行 如 下 命 令 结 果 相 同
SET COLLATE TO cSequenceName
说 明




SET
COLLATE 可以对任何 FoxPro 支持语言中包含重音字符的表进行排序 改变 SET
COLLATE 设置不会影响以前打开的索引排序顺序 Visual FoxPro
自动维护已经存在的索引 保持提供创建多种不同类型索引的灵活性
甚至对于同一字段也是如此



例如
如果在 SET COLLATE 设置为 GENERAL 时创建了一个索引 然 后 把 SET
COLLATE 的设置改变为 SPANISH 这时 原来创建的索引仍然保持 GENERAL 排序
顺序
SET
COLLATE 的作用域是当前数据工作期







有关代码页及
Visual FoxPro 的国际化支持的其他内容 请参阅 Microsoft Visual FoxPro
6.0 中文版程序员指南 第十八章 开发国际化应用程序 中的 Visual FoxPro
支持的代码页





有关配置
Visual FoxPro 的详细内容 请参阅 帮助 中 安装指南 第 三 章 配置

Visual
FoxPro
请 参 阅
IDXCOLLATE ( ) , SET DATASESSION
