欢迎来到天天文库
浏览记录
ID:8973601
大小:107.50 KB
页数:12页
时间:2018-04-13
《sqlserver排序规则的简介、选择、应用》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库。
1、SqlServer排序规则的简介、选择、应用一、排序规则简介:什么叫排序规则呢?MS是这样描述的:"在MicrosoftSQLServer 中,字符串的物理存储由排序规则控制。排序规则指定表示每个字符的位模式以及存储和比较字符所使用的规则。" 在查询分析器内执行下面语句,可以得到SQL SERVER支持的所有排序规则。 select*from::fn_helpcollations()排序规则名称由两部份构成,前半部份是指本排序规则所支持的字符集。如: Chinese_PRC_CS_AI_WS前半部份:指UNI
2、CODE字符集,Chinese_PRC_指针对大陆简体字UNICODE的排序规则,按拼音排序。Chinese_PRC_Stroke表示按汉字笔画排序;排序规则的后半部份即后缀含义: _BIN二进制排序 _CI(CS)是否区分大小写,CI不区分,CS区分(case-insensitive/case-sensitive) _AI(AS)是否区分重音,AI不区分,AS区分(accent-insensitive/accent-sensitive) _KI(KS)是否区分假名类型,KI不区分,KS区分(kanatype-
3、insensitive/kanatype-sensitive) _WI(WS)是否区分宽度WI不区分,WS区分(width-insensitive/width-sensitive) 区分大小写:如果想让比较将大写字母和小写字母视为不等,请选择该选项。区分重音:如果想让比较将重音和非重音字母视为不等,请选择该选项。如果选择该选项,比较还将重音不同的字母视为不等。区分假名:如果想让比较将片假名和平假名日语音节视为不等,请选择该选项。区分宽度:如果想让比较将半角字符和全角字符视为不等,请选择该选项。二、排序规则选择:如果S
4、QLServer 实例的所有用户都使用同一种语言,则应选取支持该语言的排序规则。例如,如果所有用户都讲法语,则选择法语排序规则。如果您的SQLServer实例的用户讲多种语言,则应选择能最好地满足各种语言需要的排序规则。例如,如果用户一般都讲西欧语言,则选择Latin1_General排序规则。如果要支持讲多种语言的用户,则对于所有字符数据使用Unicode数据类型nchar、nvarchar和nvarchar(max)是非常重要的。Unicode可避免非Unicode的char、varchar和text数据类型带来的
5、代码页转换难题。因为排序规则定义用于比较操作的排序次序和Unicode字符的排序,所以当用Unicode数据类型实现所有列时,排序规则仍会产生不同。即使使用Unicode数据类型存储字符数据时,也应选择支持大多数用户的排序规则,以防使用非Unicode数据类型实现列或变量。SQLServer只支持由基础操作系统支持的代码页。在执行取决于排序规则的操作时,引用的对象所使用的SQLServer排序规则必须使用计算机上运行的操作系统所支持的代码页。如果指定的排序规则(或引用的对象所使用的排序规则)使用Windows操作系统不
6、支持的代码页,则SQLServer将发出错误。对此错误的响应取决于计算机上安装的Windows操作系统的版本。Windows2000及更新版本支持由SQLServer排序规则使用的所有代码页。因此,不会出现该错误消息。三、排序规则的语法:Windows排序规则名称由排序规则指示器和比较风格构成。语法::= CollationDesignator_ ::= CaseSensitiv
7、ity_AccentSensitivity [_KanatypeSensitive[_WidthSensitive]]
8、_BIN参数CollationDesignator指定Windows排序规则使用的基本排序规则。基本排序规则包括:·当指定按字典排序时应用其排序规则的字母表或语言·用于存储非Unicode字符数据的代码页。例如Latin1_General或法文,两者都使用代码页1252,或土耳其文,它使用代码页1254。CaseSensitivityCI指定不区分大小写,CS指定区分大小
9、写。AccentSensitivityAI指定不区分重音,AS指定区分重音。KanatypeSensitiveOmitted指定不区分大小写,KS指定区分假名类型。WidthSensitivityOmitted指定不区分大小写,WS指定区分大小写。BIN指定使用二进制排序次序。注释Microsoft®SQLServer™2000W
此文档下载收益归作者所有