数据库汉字排序规则按笔画排序.pdfVIP

  • 37
  • 0
  • 约8.47千字
  • 约 8页
  • 2018-08-28 发布于江苏
  • 举报
sqlserver:整理一下SQLSERVER的排序规则 疯狂代码 http://CrazyC/ ĵ http:/CrazyC/DataBase/Article68892.html SQL SERVER排序规则平时使用不是很多也许不少初学者还比较陌生但有 个大家应是经常碰到: SQL SERVER数据库在跨库多表连接查询时若两数据 库默认集区别系统就会返回这样: “无法解决 equal to 操作排序规则冲突” .分析:   这个是排序规则不致造成我们做个测试比如: create table #t1( name varchar(20) collate Albanian_CI_AI_WS, value ) create table #t2( name varchar(20) collate Chinese_PRC_CI_AI_WS, value ) 表建好后执行连接查询: select * from #t1 A inner join #t2 B _disibledevent=这样就出现了: 服务器: 消息 446级别 16状态 9行 1 无法解决 equal to 操作排序规则冲突   要排除这个最简单思路方法是表连接时指定它排序规则这样就 不再出现了语句这样写: select * from #t1 A inner join #t2 B on A.name=B.name collate Chinese_PRC_CI_AI_WS 2.排序规则介绍: 什么叫排序规则呢?MS是这样描述:在 Microsoft SQL Server 2000 中 串物理存储由排序规则控制排序规则指定表示每个位模式以及存 储和比较所使用规则   在查询分析器内执行下面语句可以得到SQL SERVER支持所有排序规则     select * from fn_helpcollations 排序规则名称由两部份构成前半部份是指本排序规则所支持集 如:   Chinese_PRC_CS_AI_WS 前半部份:指UNICODE集Chinese_PRC_指针对大陆简体字UNICODE排序规则 排序规则后半部份即后缀 含义:   _BIN 2进制排序   _CI(CS) 是否区分大小写CI不区分CS区分   _AI(AS) 是否区分重音AI不区分AS区分      _KI(KS) 是否区分假名类型,KI不区分KS区分  _WI(WS) 是否区分宽度 WI不区分WS区分  区分大小写:如果想让比较将大写字母和小写字母视为不等请选择该选项 区分重音:如果想让比较将重音和非重音字母视为不等请选择该选项如果选择该选项 比较还将重音区别字母视为不等 区分假名:如果想让比较将片假名和平假名日语音节视为不等请选择该选项 区分宽度:如果想让比较将半角和全角视为不等请选择该选项 3.排序规则应用:   SQL SERVER提供了大量WINDOWS和SQLSERVER专用排序规则但它应用往往 被开发人员所忽略其实它在实战中大有用处   例1:让表NAME列内容按拼音排序: create table #t(id ,name varchar(20)) insert #t select 1,中 union all select 2,国 union all select 3,人 union all select 4,阿 select * from #t order by name collate Chinese_PRC_CS_AS_KS_WS drop table #t /*结果: id name 4 阿 2

您可能关注的文档

文档评论(0)

1亿VIP精品文档

相关文档