中易网

在SQL server中,怎么区别char跟varchar?我是个小白。

答案:2  悬赏:60  
解决时间 2021-01-17 14:52
  • 提问者网友:書生途
  • 2021-01-16 17:54
在SQL server中,怎么区别char跟varchar?我是个小白。
最佳答案
  • 二级知识专家网友:夜余生
  • 2021-01-16 18:53
char和varchar是一样的字符型,
不同在于,varchar比char更灵活,精确,且不占内存空间,
当你取同样的字符时,char会在该字符后面加上空格,
而varchar则只取得这个字符,比如有字段5,用varchar从该字段
中取aa时,你取得的是"aa",如果用char,则取得的是"aa ",
char会在后面用空格补齐5个字段。
所以,varchar比char更精确,但,varchar的速度却比char慢。
因为char是直接取得全部,而varchar是精确的去取得你要的字符。追问那nvarchar呢?追答varchar是处理非unicode数据,它处理的数据字节的长度是字符实际的长度.
nvarchar处理unicode数据,它处理的数据字节的长度是字符个数的两倍.
就是说,汉字一个字占两个字符,英文字母一个占一个字符,用varchar的话它是按这样计算的,
但是你用nvarchar的话它是把汉字和字母都当作两个字符,来得到字符长度.这里,char和
varchar是一样的.
所以,nvarchar能处理的英文字符数比varchar少了一半.
另外,
CHAR,NCHAR 有固的定长,查询速度快,但占用空间大,
VARCHAR,NVARCHAR,TEXT 没有固定定长,占用空间小,查询速度慢;
你看到的前面加个N其实就是说明它是要处理unicode数据的.
全部回答
  • 1楼网友:你可爱的野爹
  • 2021-01-16 20:31
char 数据不足长度时后边补充空格;比如,你保存数据 xxx 到长度为10 的char型字段,结果取出的数据时长度10,后边有7个空格;
varchar 数据是什么就存储什么
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息!
大家都在看
推荐信息