sql server中字符集和排序规则到底什么关系

 我来答
pi...9@sohu.com
2017-01-27 · 超过52用户采纳过TA的回答
知道答主
回答量:170
采纳率:0%
帮助的人:30万
展开全部
排序规则指定表示数据集中每个字符的位模式。排序规则还决定用于数据排序和比较的规则。SQL Server 2005 支持在单个数据库中存储具有不同排序规则的对象,即 SQL Server 数据库中每列都可以有各自的排序规则。对于非 Unicode 列,排序规则设置指定数据的代码页,从而指定可以表示哪些字符。数据可以在 Unicode 列之间无缝地移动。在非 Unicode 列之间移动数据时,数据不能无缝地移动,而必须经当前代码页转换。如果 Transact-SQL 语句运行于各自都具有不同排序规则设置的数据库的上下文中,则其运行结果可能会不同。如果可能,最佳实践应包括对组织使用标准化排序规则。如果已在组织中的所有系统上使用标准的排序规则设置,则无需在每个字符或 Unicode 表达式中显式地指定排序规则。如果必须使用具有不同排序规则和代码页设置的对象,则必须对查询进行编码以考虑排序规则优先级的规则。排序规则的特征是区分语言、区分大小写、区分重音、区分假名以及区分全半角。Unicode 使用两个而不是一个字节来表示语言的字符,这使得单个 Unicode 字符集可以表示世界上几乎所有书面语言。如果存储的字符数据反映多种语言,则应始终使用 Unicode 数据类型(nchar、nvarchar 和 ntext),而不要使用非 Unicode 数据类型(char、varchar 和 text)。使用 Unicode 可以体验到显著的性能提升,因为所需的代码页转换较少。非 Unicode 数据类型有明显的局限性,因为非 Unicode 计算机只能使用单个代码页。若要全面评估与使用 Unicode 或非 Unicode 数据类型相关的问题,必须测试您的具体方案以确定在特定环境下的性能差异大小。至少应对站点排序规则进行标准化,并尽可能部署 Unicode 服务器和客户端。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式