往数据库中更新这些数据为什么总是出现截断字符串或二进制数据? 我的数据库建立的事下面的图片…… 5

 我来答
百度网友387227639
2012-11-15 · TA获得超过143个赞
知道答主
回答量:85
采纳率:0%
帮助的人:76.8万
展开全部
先给你讲讲原理:char() varchar()等等都是非unicoid字符集。非unicoid字符集是一个字符占用一个字节。所以:char(4)最多可以放四个字节的字符。例如:“ABCD”由于:中国的汉字是一个字符<汉字>占用两个字节,所以:char(4)最多可以放两个汉字。因此:你放了三字汉字的话,就会出现截断现象。
根据数据库的优化原理,如果您的数据表中存放的汉字较多,建议您使用unicoid字符集,数据库字符类型中带有“N”的都是unicoid字符集。例如:nchar() Nvarchar()等等。如果您使用unicoid字符集,nchar(4)就可以存放4个汉字,8个数字或英文字母。
至于nchar() 和 nvarchar()区别以及char()和varchar()的区别在这儿,我就不告诉你了。
大概是一个自动适应,一个固定空间。具体还请您自己查看相关书籍。
tt78901234
2012-11-10 · TA获得超过159个赞
知道小有建树答主
回答量:212
采纳率:100%
帮助的人:49.1万
展开全部
一个汉字两个字节,char(4)两个中文字符,所以“赵阳阳”你懂的
追问
我把名字改成一个字的也不行……执行后出现的是将截断字符串或二进制数据……
追答
名字改成VARCHAR2类型吧,可以跟踪下你的sql,复制到sqlserver中运行,看是哪个字段报错
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
funfun2h
2012-11-09
知道答主
回答量:46
采纳率:0%
帮助的人:30.1万
展开全部
数据类型改成short date?
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式