COLLATE (SQL Server Compact)
一个可以应用于数据库定义以定义排序规则的子句。
语法
COLLATE < collation_name >
< collation_name > :: =
< Windows_collation_name >
< Windows_collation_name >:: =
CollationDesignator_< ComparisonStyle >
< ComparisonStyle > :: =
CaseSensitivity_AccentSensitivity
参数
<collation_name>
应用于数据库定义的排序规则的名称。<collation_name> 参数只能是指定的 <Windows_collation_name>。<Windows_collation_name>
用于 Windows 排序规则的排序规则名称。CollationDesignator
指定 Windows 排序规则所使用的基本排序规则。基本排序规则包含下列项:在指定字典排序时应用其排序规则的字母表或语言。
用于存储非 Unicode 字符数据的代码页。
例如,Latin1_General 和法语是使用代码页 1252 的排序规则指示符。土耳其语是使用代码页 1254 的排序规则指示符。
CaseSensitivity
指定区分大小写。SQL Server Compact 仅通过 COLLATE 子句支持不区分大小写 (CI) 选项。AccentSensitivity
指定区分重音 (AS)。SQL Server Compact 仅支持此选项。
下表列出了可用于 SQL Server Compact 中 COLLATE 子句的排序规则。
Windows 系统区域设置 |
LCID(区域设置 ID) |
SQL 排序规则名称 |
Code page(代码页) |
---|---|---|---|
阿尔巴尼亚语 |
0x41c |
Albanian_CI_AS |
1250 |
阿拉伯语(沙特阿拉伯) |
0x401 |
Arabic_CI_AS |
1256 |
中文(中国) |
0x804 |
Chinese_PRC_CI_AS |
936 |
中文(中国) |
0x20804 |
Chinese_PRC_Stroke_CI_AS |
936 |
中文(台湾) |
0x30404 |
Chinese_Taiwan_Bopomofo_CI_AS |
950 |
中文(台湾) |
0x404 |
Chinese_Taiwan_Stroke_CI_AS |
950 |
克罗地亚语 |
0x41a |
Croatian_CI_AS |
1250 |
俄语 |
0x419 |
Cyrillic_General_CI_AS |
1251 |
捷克语 |
0x405 |
Czech_CI_AS |
1250 |
丹麦语 |
0x406 |
Danish_Norwegian_CI_AS |
1252 |
爱沙尼亚语 |
0x425 |
Estonian_CI_AS |
1257 |
芬兰语 |
0x40b |
Finnish_Swedish_CI_AS |
1252 |
法语(法国) |
0x40c |
French_CI_AS |
1252 |
德语(电话簿风格) |
0x10407 |
German_PhoneBook_CI_AS |
1252 |
希腊语 |
0x408 |
Greek_CI_AS |
1253 |
希伯来语 |
0x40d |
Hebrew_CI_AS |
1255 |
匈牙利语 |
0x40e |
Hungarian_CI_AS |
1250 |
匈牙利语(技术) |
0x1040e |
Hungarian_Technical_CI_AS |
1250 |
冰岛语 |
0x40f |
Icelandic_CI_AS |
1252 |
日语 |
0x411 |
Japanese_CI_AS |
932 |
朝鲜语(扩展 Wansung) |
0x412 |
Korean_Wansung_CI_AS |
949 |
加利西亚语(英语 - 美国) |
0x409 |
Latin1_General_CI_AS |
1252 |
拉脱维亚语 |
0x426 |
Latvian_CI_AS |
1257 |
立陶宛语 |
0x427 |
Lithuanian_CI_AS |
1257 |
西班牙语(国际风格) |
0xc0a |
Modern_Spanish_CI_AS |
1252 |
波兰语 |
0x415 |
Polish_CI_AS |
1250 |
罗马尼亚语 |
0x418 |
Romanian_CI_AS |
1250 |
斯洛伐克语 |
0x41b |
Slovak_CI_AS |
1250 |
斯洛文尼亚语 |
0x424 |
Slovenian_CI_AS |
1250 |
泰语 |
0x41e |
Thai_CI_AS |
874 |
西班牙语(传统风格) |
0x40a |
Traditional_Spanish_CI_AS |
1252 |
土耳其语 |
0x41f |
Turkish_CI_AS |
1254 |
乌克兰语 |
0x422 |
Ukrainian_CI_AS |
1251 |
越南语 |
0x42a |
Vietnamese_CI_AS |
1258 |
注释
在未指定 Windows 排序规则名称时,会为创建的所有数据库分配 Latin1_General(例如,默认的排序规则 Latin1_General_CI_AS)。此排序规则使用 Latin1 General 字典排序规则、代码页 1252。它不区分大小写,但区分重音。
使用可选的 COLLATE 子句指定与默认值不同的排序规则。下面的示例使用查询指定西班牙语排序规则:
CREATE DATABASE "SpanishDB.sdf" DATABASEPASSWORD '<enterStrongPasswordHere>' COLLATE Traditional_Spanish_CI_AS
有关 SQL Server Compact 的 SP1 版本中支持的排序规则的详细信息,请参阅支持的排序规则 (SQL Server Compact)。请注意,只有不区分大小写的排序规则才通过 COLLATE 子句来支持。