设为首页 收藏本站
查看: 649|回复: 0

[经验分享] 关于sql server中的表中记录按记录排序的问题,未有结论

[复制链接]

尚未签到

发表于 2016-11-7 02:31:28 | 显示全部楼层 |阅读模式
http://topic.csdn.net/t/20050628/09/4109115.html


http://topic.csdn.net/t/20030728/19/2082128.html

SQL  Server  排序规则基础知识  
  Microsoft®  SQL  Server™  2000  支持多种排序规则。排序规则对控制正确使用语言(如马其顿语或波兰语)或字母表(如西欧语言使用的拉丁字母表  Latin1_General)字符的规则进行编码。  

  每个  SQL  Server  排序规则指定三个属性:   

  用于  Unicode  数据类型(nchar、nvarchar  和  ntext)的排序次序。排序次序定义字符的排序序列,以及在比较操作中对字符取值的方法。  


  用于非  Unicode  字符数据类型(char、varchar  和  text)的排序次序。  


  用于存储非  Unicode  字符数据的代码页。   


  说明    不能指定与  Unicode  数据类型(nchar、nvarchar  和  ntext)对应的代码页。用于  Unicode  字符的双字节位模式由  Unicode  标准定义且不能更改。  

  可在任何级别上指定  SQL  Server  2000  排序规则。安装  SQL  Server  2000  实例时,可指定该实例的默认排序规则。每次创建数据库时,可指定用于该数据库的默认排序规则。如果未指定排序规则,数据库的默认排序规则即是实例的默认排 序规则。无论何时定义字符列、变量或参数,都可指定这些对象的排序规则。如果未指定排序规则,将使用数据库的默认排序规则创建这些对象。  

  如果  SQL  Server  实例的所有用户都使用同一种语言,则应选择支持该语言的排序规则。例如,若所有用户都讲法语,则选择法语排序规则。  

  如果  SQL  Server  实例的用户使用多种语言,则应选择能对多语种需求提供最佳支持的排序规则。例如,如果用户一般都讲西欧语言,则选择  Latin1_General  排序规则。当支持使用多种语言的用户时,对所有字符数据都使用  Unicode  数据类型  nchar、nvarchar  和  ntext  最为重要。Unicode  旨在消除非  Unicode  char、varchar  和  text  数据类型的代码页转换困难。因为排序规则定义用于比较操作的排序次序和  Unicode  字符的排序,所以当用  Unicode  数据类型实现所有的列时,排序规则仍会产生不同。即使当使用  Unicode  数据类型存储字符数据时,也应选择支持大多数用户的排序规则,以防使用非  Unicode  数据类型实现列或变量。  

  SQL  Server  排序规则定义数据库引擎存储和操作字符及  Unicode  数据的方式。然而,当数据移入应用程序后,在应用程序中进行的字符排序和比较将由计算机上选定的  Windows  区域设置控制。应用程序使用的字符数据排序规则是由  Windows  区域设置控制的项目之一,区域设置还定义其它项目,如数字、时间、日期和货币格式。对于  Microsoft  Windows  NT®  4.0、Microsoft  Windows®  98  和  Microsoft  Windows  95,可使用控制面板中的"区域设置"应用程序指定  Windows  区域设置。对于  Microsoft  Windows  2000,可使用"控制面板"中的"区域选项"应用程序指定区域设置。有关  Windows  区域设置的更多信息,请参见  Microsoft  Web  站点  MSDN®  页中的  Developing  International  Software  for  Windows  95  and  Windows  NT  4.0。  

  多个排序规则可对非  Unicode  数据使用相同的代码页。例如,代码页  1251  定义西里尔语字符集。多个排序规则(如  Cyrillic_General、Ukrainian  和  Macedonian)都使用该代码页。虽然这些排序规则都使用相同的位集来表示非  Unicode  字符数据,但在处理字典定义时所应用的排序和比较规则略有不同,而字典定义确定语言或字母表中与排序规则相关的正确字符序列。  

  因为  SQL  Server  2000  排序规则控制  Unicode  和非  Unicode  排序次序,所以不会遇到由为  Unicode  和非  Unicode  数据指定不同的排序规则而引起的问题。在  SQL  Server  的早期版本中,对代码页号、字符排序次序和  Unicode  排序规则分别进行指定。SQL  Server  的早期版本还支持每个代码页有不同数目的排序次序,并为某些代码页提供  Windows  区域设置中没有的排序次序。在  SQL  Server  7.0  中,还可以指定为非  Unicode  数据选择的排序次序以外的其它  Unicode  排序次序。这会导致在使用与非  Unicode  数据相对的  Unicode  数据时,排序和比较操作返回不同的结果。  





另,有参考意义的:Microsoft SQL Server 2000 的国际化功能
http://www.microsoft.com/china/MSDN/library/archives/library/techart/intlfeaturesinsqlserver2000.asp#intlfeaturesinsqlserver2000_topic6

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-296569-1-1.html 上篇帖子: BizTalk Server 2009 概要介绍 下篇帖子: Oracle10g分布式事务for SQL Server 2000的解决方案
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表