当前位置: 首页 > news >正文

南京市建设档案馆网站太原要做网站的公司

南京市建设档案馆网站,太原要做网站的公司,wordpress数据库主机,大连嘉良建设有限公司网站在安装报表系统#xff0c;运行sql语句时候提示“无法解决 equal to 操作的排序规则冲突。”#xff0c;费了半天时间才搞定#xff0c;原来是因为sql语句中没有加全collate Chinese_PRC_CI_AI_WS #xff01; 用排序规则特点计算汉字笔划和取得拼音首字母 SQL SERVER的…在安装报表系统运行sql语句时候提示“无法解决 equal to 操作的排序规则冲突。”费了半天时间才搞定原来是因为sql语句中没有加全collate Chinese_PRC_CI_AI_WS 用排序规则特点计算汉字笔划和取得拼音首字母  SQL SERVER的排序规则平时使用不是很多也许不少初学者还比较陌生但有  一个错误大家应是经常碰到: SQL SERVER数据库在跨库多表连接查询时若两数据  库默认字符集不同系统就会返回这样的错误  “无法解决 equal to 操作的排序规则冲突。”  一.错误分析 这个错误是因为排序规则不一致造成的我们做个测试比如  create table #t1(  name varchar(20) collate Albanian_CI_AI_WS,  value int)  create table #t2(  name varchar(20) collate Chinese_PRC_CI_AI_WS,  value int )  表建好后执行连接查询  select * from #t1 A inner join #t2 B on A.nameB.name  这样错误就出现了  服务器: 消息 446级别 16状态 9行 1  无法解决 equal to 操作的排序规则冲突。    要排除这个错误最简单方法是表连接时指定它的排序规则这样错误就  不再出现了。语句这样写  select *  from #t1 A inner join #t2 B  on A.nameB.name collate Chinese_PRC_CI_AI_WS  二.排序规则简介 什么叫排序规则呢MS是这样描述的在 Microsoft SQL Server 2000 中  字符串的物理存储由排序规则控制。排序规则指定表示每个字符的位模式以及存  储和比较字符所使用的规则。    在查询分析器内执行下面语句可以得到SQL SERVER支持的所有排序规则。  select * from ::fn_helpcollations()  排序规则名称由两部份构成前半部份是指本排序规则所支持的字符集。  如    Chinese_PRC_CS_AI_WS  前半部份指UNICODE字符集Chinese_PRC_指针对大陆简体字UNICODE的排序规则。  排序规则的后半部份即后缀 含义    _BIN 二进制排序    _CI(CS) 是否区分大小写CI不区分CS区分    _AI(AS) 是否区分重音AI不区分AS区分       _KI(KS) 是否区分假名类型,KI不区分KS区分   _WI(WS) 是否区分宽度 WI不区分WS区分   区分大小写:如果想让比较将大写字母和小写字母视为不等请选择该选项。  区分重音:如果想让比较将重音和非重音字母视为不等请选择该选项。如果选择该选项  比较还将重音不同的字母视为不等。  区分假名:如果想让比较将片假名和平假名日语音节视为不等请选择该选项。  区分宽度:如果想让比较将半角字符和全角字符视为不等请选择该选项  三.排序规则的应用  SQL SERVER提供了大量的WINDOWS和SQLSERVER专用的排序规则但它的应用往往  被开发人员所忽略。其实它在实践中大有用处。  例1:让表NAME列的内容按拼音排序  create table #t(id int,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 国  3 人  1 中  */  例2让表NAME列的内容按姓氏笔划排序  create table #t(id int,name varchar(20))  insert #t select 1,三  union all select 2,乙  union all select 3,二  union all select 4,一  union all select 5,十  select * from #t order by name collate Chinese_PRC_Stroke_CS_AS_KS_WS  drop table #t  /*结果  id name  ----------- --------------------  4 一  2 乙  3 二  5 十  1 三  */  四.在实践中排序规则应用的扩展  SQL SERVER汉字排序规则可以按拼音、笔划等排序那么我们如何利用这种功能  来处理汉字的一些难题呢我现在举个例子  用排序规则的特性计算汉字笔划  要计算汉字笔划我们得先做准备工作我们知道WINDOWS多国汉字UNICODE目前  收录汉字共20902个。简体GBK码汉字UNICODE值从19968开始。    首先我们先用SQLSERVER方法得到所有汉字不用字典我们简单利用SQL语句就  可以得到  select top 20902 codeidentity(int,19968,1) into #t from syscolumns a,syscolumns b  再用以下语句我们就得到所有汉字它是按UNICODE值排序的  select code,nchar(code) as CNWord from #t  然后我们用SELECT语句让它按笔划排序。  select code,nchar(code) as CNWord  from #t  order by nchar(code) collate Chinese_PRC_Stroke_CS_AS_KS_WS,code  结果  code CNWord  ----------- ------  19968 一  20008 丨  20022 丶  20031 丿  20032 乀  20033 乁  20057 乙  20058 乚  20059 乛  20101 亅  19969 丁  ..........  从上面的结果我们可以清楚的看到一笔的汉字code是从19968到20101从小到大排但到  了二笔汉字的第一个字“丁”CODE为19969就不按顺序而重新开始了。有了这结果我们就可以轻  松的用SQL语句得到每种笔划汉字归类的第一个或最后一个汉字。  下面用语句得到最后一个汉字  create table #t1(id int identity,code int,cnword nvarchar(2))  insert #t1(code,cnword)  select code,nchar(code) as CNWord from #t  order by nchar(code) collate Chinese_PRC_Stroke_CS_AS_KS_WS,code  select A.cnword  from #t1 A  left join #t1 B on A.idB.id-1 and A.codeB.code  where B.code is null  order by A.id  得到36个汉字每个汉字都是每种笔划数按Chinese_PRC_Stroke_CS_AS_KS_WS排序规则排序后的  最后一个汉字  亅阝马风龙齐龟齿鸩龀龛龂龆龈龊龍龠龎龐龑龡龢龝齹龣龥齈龞麷鸞麣龖龗齾齉龘  上面可以看出“亅”是所有一笔汉字排序后的最后一个字“阝”是所有二笔汉字排序后的最后  一个字......等等。    但同时也发现从第33个汉字“龗(33笔)”后面的笔划有些乱不正确。但没关系比“龗”笔划  多的只有四个汉字我们手工加上齾35笔齉36笔靐39笔龘64笔  建汉字笔划表TAB_HZBH  create table tab_hzbh(id int identity,cnword nchar(1))  --先插入前33个汉字  insert tab_hzbh  select top 33 A.cnword  from #t1 A  left join #t1 B on A.idB.id-1 and
http://www.hkea.cn/news/14590929/

相关文章:

  • 龙岗网站制作公司一般多少钱深圳正规网站制作哪里好
  • 太仓专业网站建设外贸英文网站设计
  • 网站防止攻击网站建设语音
  • 网站域名销售网站优化怎么做效果才好
  • 保定网站建设制作哈尔滨产品推广网站
  • wordpress 模板兔长沙网站托管seo优化公司
  • iis 子网站烟台企业网站建设
  • 中山做app网站公司哪家好wordpress do_action 返回值
  • 中国交通建设网官方网站健身房网络推广渠道
  • 政务网站建设办法国内营销公司排名
  • 网站建设答辩ppt要点目录型搜索引擎有哪些
  • 自己做网站怎么搜索临西网站建设电话
  • 公司营销型网站开发公司管理系统网站模板下载
  • 手机上怎么制作网站英文wordpress转中文乱码
  • 宁波建设局网站首页wordpress文章默认经典
  • 西斗门的网站建设网站 语言切换怎么做
  • 厦门网站定制买卖交易网
  • 网站是每年都要付费吗wordpress注册跳过邮箱验证码
  • 关于协会网站建设的建议绵阳建网站
  • 北京网站建设方案托管苏州seo网站推广公司
  • 网站建设分几块商丘网站建设优化推广
  • 网站只收录无权重宁波网络建站公司有哪些
  • 源码网站模板wordpress标题字体太大
  • 衡水网站建设地方亿网联播
  • 三门峡高端网站开发多语种外贸网站建设
  • 顺德网站制作案例如何10常用的网络营销方法
  • 自己做网站自己做推广教程视频教程怎样在百度免费做网站
  • 更新网站内容wordpress 菜单 插件
  • html5 网站后台全国甲级建筑设计院名单
  • 贵州省城乡与住房建设厅网站百度网站建设是什么