如 Chinese_PRC_Stroke_CS_AI_WS,排序规则名称由两部份构成
Chinese_PRC 指针对大陆简体字UNICODE的排序规则。
_BIN 指定使用向后兼容的二进制排序顺序。
_BIN2 指定使用 SQL Server 2005 中引入的码位比较语义的二进制排序顺序。
_Stroke 按笔划排序
_CI(CS) 是否区分大小写,CI不区分,CS区分
_AI(AS) 是否区分重音,AI不区分,AS区分
_KI(KS) 是否区分假名类型,KI不区分,KS区分
_WI(WS) 是否区分全半角,WI不区分,WS区分
二进制: 二进制排序顺序既区分大小写,也区分重音。如果未选择此选项,则 SQL Server 将遵循字典中定义的相关语言或字母表的排序和比较规则。
二进制码位:以Unicode 码位对数据进行比较或排序。对于非 Unicode 数据则使用二进制排序相同的比较方式对已排序的 SQL Server 数据进行比较的应用程序不必重新对数据进行排序。//提高性能。
区分大小写:如果未选择此选项,则 SQL Server 认为字母的大小写形式对于排序目的而言是相同的。
区分重音: 如果未选择此项,在排序时,SQL Server 将把字母的重音形式和非重音形式视为相同。
区分假名: 如果未选择此选项,则 SQL Server 认为片假名字符和平假名字符对于排序目的而言是相等的。
区分全半角:如果未选择此项,在排序时,SQL Server 将把同一字符的单字节形式和双字节形式视为相同。
Query Ex: ------------------------------------------------- SELECT * FROM tablename WHERE colname='Value' COLLATE Chinese_PRC_CS_AI SELECT * FROM tablename ORDER BY colname COLLATE Chinese_PRC_CS_AI ASC
附: Windows 系统的默认排序规则 ----------------------------------------------------------------------------------------------------- Windows 系统区域设置 LCID(区域设置 ID) 默认的 SQL 排序规则 Code page(代码页) 中文(台湾) 0x30404 Chinese_Taiwan_Bopomofo_CI_AS 950 中文(香港特别行政区) 0xc04 Chinese_Hong_Kong_Stroke_90_CI_AS 950 英语(香港特别行政区) 0x3c09 Latin1_General_CI_AS 1252 英语(英国) 0x809 Latin1_General_CI_AS 1252 英语(美国) 0x409 SQL_Latin1_General_CP1_CI_AS 1252 日语(Unicode) 0x10411 Japanese_Unicode 932 日语 0x411 Japanese_CI_AS 932 朝鲜语(扩展 Wansung) 0x0412 Korean_Wansung_CI_AS 949 .... .... .... .... TIP:使用 SELECT * FROM fn_helpcollations() 检索 TIP:如果未指定Windows 排序规则名称,则为创建的所有数据库分配默认排序规则 Latin1_General。 附: SQL Server 2005 版本更新以下排序规则 旧排序规则名称 新排序规则名称 ----------------------------------------------------- 日语 Japanese_90 中文 Chinese_PRC_90 Chinese_PRC_Stroke Chinese_PRC_Stroke_90 Chinese_Taiwan_Bopomofo Chinese_Taiwan_Bopomofo_90 Chinese_Taiwan_Stroke Chinese_Taiwan_Stroke_90 朝鲜语 Korean_90