往数据库中更新这些数据为什么总是出现截断字符串或二进制数据? 我的数据库建立的事下面的图片…… 5
3个回答
展开全部
先给你讲讲原理:char() varchar()等等都是非unicoid字符集。非unicoid字符集是一个字符占用一个字节。所以:char(4)最多可以放四个字节的字符。例如:“ABCD”由于:中国的汉字是一个字符<汉字>占用两个字节,所以:char(4)最多可以放两个汉字。因此:你放了三字汉字的话,就会出现截断现象。
根据数据库的优化原理,如果您的数据表中存放的汉字较多,建议您使用unicoid字符集,数据库字符类型中带有“N”的都是unicoid字符集。例如:nchar() Nvarchar()等等。如果您使用unicoid字符集,nchar(4)就可以存放4个汉字,8个数字或英文字母。
至于nchar() 和 nvarchar()区别以及char()和varchar()的区别在这儿,我就不告诉你了。
大概是一个自动适应,一个固定空间。具体还请您自己查看相关书籍。
根据数据库的优化原理,如果您的数据表中存放的汉字较多,建议您使用unicoid字符集,数据库字符类型中带有“N”的都是unicoid字符集。例如:nchar() Nvarchar()等等。如果您使用unicoid字符集,nchar(4)就可以存放4个汉字,8个数字或英文字母。
至于nchar() 和 nvarchar()区别以及char()和varchar()的区别在这儿,我就不告诉你了。
大概是一个自动适应,一个固定空间。具体还请您自己查看相关书籍。
展开全部
一个汉字两个字节,char(4)两个中文字符,所以“赵阳阳”你懂的
追问
我把名字改成一个字的也不行……执行后出现的是将截断字符串或二进制数据……
追答
名字改成VARCHAR2类型吧,可以跟踪下你的sql,复制到sqlserver中运行,看是哪个字段报错
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
数据类型改成short date?
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询