sqlserver数据库varchar(40)能存放多少汉字?
2个回答
展开全部
sqlserver数据库varchar(40)能存放20个汉字。
sqlserver数据库中,英文字符需占用一个字节存储,汉字和其他非英文字符,需占用两个字节存储。向一个长度为40个字符的varchar型字段中输入汉字,最多可输入20个汉字。当从这个字段中取出数据时,数据其长度为20个汉字,40个字符。
扩展资料:
VARCHAR(M)比CHAR更加的灵活,同样用于表示字符数据,但是VARCHAR可以保存可变长度的字符串。其中M代表该数据类型所允许保存的字符串的最大长度,只要长度小于该最大值的字符串都可以被保存在该数据类型中。
使用VARCHAR型字段要比CHAR型字段方便的多。使用VARCHAR型字段时,不需要为剪掉数据中多余的空格而操心。它可以比CHAR型字段占用更少的内存和硬盘空间。当数据库很大时,这种内存和磁盘空间的节省会变得非常重要。
参考资料来源:
推荐于2017-09-16 · 知道合伙人软件行家
关注
展开全部
数据库中,英文字符只需要一个字节存储就足够了,但汉字和其他众多非英文字符,则需要两个字节存储,如果英文与汉字同时存在,由于占用空间数不同,容易造成混乱,导致读取出来的字符串是乱码。
Unicode字符集就是为了解决字符集这种不兼容的问题而产生的,它所有的字符都用两个字节表示,即英文字符也是用两个字节表示。
而前缀n就表示Unicode字符,比如nchar,nvarchar,这两种类型使用了Unicode字符集。
基于以上两点来看看字段容量
char,varchar 最多8000个英文,4000个汉字
nchar,nvarchar 可存储4000个字符,无论英文还是汉字.
Unicode字符集就是为了解决字符集这种不兼容的问题而产生的,它所有的字符都用两个字节表示,即英文字符也是用两个字节表示。
而前缀n就表示Unicode字符,比如nchar,nvarchar,这两种类型使用了Unicode字符集。
基于以上两点来看看字段容量
char,varchar 最多8000个英文,4000个汉字
nchar,nvarchar 可存储4000个字符,无论英文还是汉字.
追问
如果放汉字,是不是能放20个???
追答
是的。
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询