仓酷云

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 722|回复: 7
打印 上一主题 下一主题

[学习教程] MSSQL编程:SQL Server中全角和半角字符的对照成绩...

[复制链接]
若天明 该用户已被删除
跳转到指定楼层
楼主
发表于 2015-1-16 22:28:22 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
导致了一个使用几乎和mSQL一样的API接口的用于他们的数据库的新的SQL接口的产生,这样,这个API被设计成允许为用于mSQL而写的第三方代码更容易移植到MySQL。server|对照|成绩
/*------------------------------------------------------------------------------------

/*接待转载,请保存本声明信息

/*翁彦enhydraboy@yahoo.com.cn

/*------------------------------------------------------------------------------------

这是一个在我实践一个项目中碰到的成绩。03BHL01001(上海)和03BHL01001(上海)对照的了局是一样的。招致引发的反复的主键成绩。

03BHL01001(上海)和03BHL01001(上海)不同,就在于前者的括号是全角的括号字符,后者是半角的括号字符。全角的括号字符和半角的括号字符的ascii码明显是纷歧样的。全角的(ASCII码是0xA3A8,而半角的(是0x28。那末为何SQLServer会以为是一样的呢?

成绩实在就出在数据库的排序划定规矩上,让我们在细心研读一下SQLServer的文档。SQLServer的排序划定规矩由如许几部分构成,代码页、辨别巨细写、辨别重音、辨别宽度。最初一个在SQLServer的联机匡助中没有进一步说起,实在本篇碰到的成绩就是因为这个缘故原由酿成的。辨别宽度:指定SQLServer辨别不异字符的单字节暗示法(半角)和双字节暗示法(全角)。假如没有选择,则SQLServer将以为不异字符的单字节暗示法和双字节暗示法等效。

缺省,安装SQLServer中文版的时分,SQLServer帮你选择的排序划定规矩是Chinese_PRC_CI_AS(Chinese-PRC,case-insensitive,accent-sensitive,kanatype-insensitive,width-insensitive),是中文,不辨别巨细写、辨别重音、不辨别化名、不辨别宽度。因而,天然就认同03BHL01001(上海)=03BHL01001(上海)。

以是,准确的选择应当是,后缀为WS的中文排序划定规矩。本例中我们应当选择Chinese_PRC_CI_AS_WS。

我们来看一下,指定排序划定规矩是Chinese_PRC_CI_AS_WS后,怎样了?



select1where03BHL01001(上海)=03BHL01001(上海)

collateChinese_PRC_CI_AS_WS



-----------



(所影响的行数为0行)

看来这个成绩办理了。

主要提醒:

怎样观察利用谁人排序划定规矩呢?可使用上面的SQL语句。

SELECT*

FROM::fn_helpcollations()

能够查询一切排序划定规矩的信息。

查出一切中文排序划定规矩的信息

SELECT*FROM

(

SELECT*

FROM::fn_helpcollations())A

WHEREnamelikeChinese%


闪回的目的是要让数据库在commit之后,还能恢复到之前的某个状态,整库或指定的表。
再现理想 该用户已被删除
沙发
发表于 2015-1-19 13:51:24 | 只看该作者
所以你总能得到相应的升级版本,来满足你的需求。
老尸 该用户已被删除
板凳
发表于 2015-1-24 23:21:10 | 只看该作者
从项目平台的选择上讲,我们关心的,应该是一款产品能不能满足任务需求,而不是网上怎么说。
活着的死人 该用户已被删除
地板
发表于 2015-2-2 14:24:49 | 只看该作者
varchar(max)\\\\nvarchar(max)类型的引入大大的提高了编程的效率,可以使用字符串函数对CLOB类型进行操作,这是一个亮点。
莫相离 该用户已被删除
5#
发表于 2015-2-23 13:58:38 | 只看该作者
也可谈一下你是怎么优化存储过程的?
小女巫 该用户已被删除
6#
发表于 2015-3-7 09:15:03 | 只看该作者
记得在最开始使用2k的时候就要用到这个功能,可惜2k没有,现在有了作解决方案的朋友会很高兴吧。
7#
发表于 2015-3-14 18:33:51 | 只看该作者
varchar(max)\\\\nvarchar(max)类型的引入大大的提高了编程的效率,可以使用字符串函数对CLOB类型进行操作,这是一个亮点。
admin 该用户已被删除
8#
发表于 2015-3-21 13:28:44 | 只看该作者
备份方面可能还是一个老大难的问题。不能单独备份几个表总是感觉不爽。灵活备份的问题不知道什么时候才能解决。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|仓酷云 鄂ICP备14007578号-2

GMT+8, 2025-3-13 01:43

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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