当前位置: 代码迷 >> SQL >> SQL Server 2005 的排序规约<转>
  详细解决方案

SQL Server 2005 的排序规约<转>

热度:109   发布时间:2016-05-05 14:21:42.0
SQL Server 2005 的排序规则<转>

如 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_AISELECT * 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_90Chinese_PRC_Stroke        Chinese_PRC_Stroke_90Chinese_Taiwan_Bopomofo   Chinese_Taiwan_Bopomofo_90Chinese_Taiwan_Stroke     Chinese_Taiwan_Stroke_90朝鲜语                        Korean_90

  相关解决方案