A. 数据库varchar和char的区别
char:
使用指定长度的固定长度表示的字符串;比如char(8),则数据库会使用固定的8个字节来存储数据
,不足8为的字符串在其后补空字符;
varchar
在oracle中varchar跟char是一个类型;sqlserver中varchar相当于oracle中的varchar2
varchar2
用实际字符数+2个字节来存储的变长字符串;比如一个字段定义为varchar(10),而实际存储的内容为
‘A’,则数据库会用3个字节来存储该字符串,其中前两个字节用来存储字符的长度;
在数据库中的字段,由于一个字段大小不能超过一个block的长度,所以varchar和char都是最大为
8000个字节,由于可能会存储汉字,也就是一个字符用2个字节来存储,所以字段中最大定义为varchar
(4000),而在plsql中,这个大小的限制变为32000左右,这是因为表示其大小的字节只有两个。
B. SQL中的char,varchar
应该不会去掉,当你输入了6个字符时,剩下的多余部分还会保留 所以输出时还会有后面多余空格,只是不显示出来 在输入数据时,如果超出了,不能输入进去
C. SQL char 和varchar 用法上的区别是什么
char会自动填充空格,varchar不会。所以varchar比较节省空间,但是检索效率char高一点。用法不存在什么区别。
举个例子吧
字段a为char(5)类型
字段b为varchar(5)类型
向a,b中赋值'123'
a的结果是'123 ' (123+两个空格)
b的结果是'123'
D. 写sql 语句时,char和varchar,一般选用哪个
一般varchar选择的多一点,因为varchar是可变长度,char是固定长度
虽然效率上char要高,但是空间上会浪费,举个例子:
varchar(5),char(5)如果都赋值'abc',那么varchar只用了3个字符空间
而char用了3个后会自动拿空格不满,所以始终是会占用5个字符空间
E. 在SQL server中,怎么区别char跟varchar我是个小白。
char 数据不足长度时后边补充空格;比如,你保存数据 xxx 到长度为10 的char型字段,结果取出的数据时长度10,后边有7个空格;
varchar 数据是什么就存储什么
F. 数据库中char和varchar的区别
数据库中char和varchar的区别为:长度不同、效率不同、存储不同。
一、长度不同
1、char类型:char类型的长度是固定的。
2、varchar类型:varchar类型的长度是可变的。
二、效率不同
1、char类型:char类型每次修改的数据长度相同,效率更高。
2、varchar类型:varchar类型每次修改的数据长度不同,效率更低。
三、存储不同
1、char类型:char类型存储的时候是初始预计字符串再加上一个记录字符串长度的字节,占用空间较大。
2、varchar类型:varchar类型存储的时候是实际字符串再加上一个记录字符串长度的字节,占用空间较小。
G. 请问SQL数据库中的char和varchar的区别
Char是固定长度的字符型,如果添加的字符长度不够,SQL自动用空格补齐,
VarChar是不固定长度的字符型(只有最大长度)即可变长度的字符型,添加的字符长度不够时,SQL不会用空格补齐。
H. sql varchar与char二者之间的区别
char是定长的,也就是char(10),输入1个字符‘a’,实际是a+9个空值。
所以你的@sl已经有10位值了,再+ ‘ world’后面的都被截了,所以显示'hello'
要用rtrim切掉右边的空值
I. sql 中int nvarchar char VARchar 有什么区别
1.int 类型:
从 -2^31 (-2,147,483,648) 到 2^31 - 1(2,147,483,647) 的整型数据(所有数字)。
存储大小为 4 个字节。int 的 SQL-92 同义字为 integer。
2. char类型:
对英文(ASCII)字符占用1个字节,对一个汉字占用2个字节,CHAR存储定长数据很方便,CHAR字段上的索引效率极高,比如定义char(10),那么不论你存储的数据是否达到了10个字节,都要占去10个字节的空间。因为是固定长度,所以速度效率高。比如定义char(10),那么不论你存储的数据是否达到了10个字节,都要占去10个字节的空间。因为是固定长度,所以速度效率高。
3. VARCHAR存储变长数据
如果一个字段可能的值是不固定长度的,我们只知道它不可能超过10个字符,把它定义为 VARCHAR(10)是最合算的。VARCHAR类型的实际长度是它的值的实际长度+1。为什么“+1”呢?这一个字节用于保存实际使用了多大的长度。
Varchar类型:Varchar 的类型不以空格填满,而Char则会填充满为止,如varchar(100),但它的值只是"qian",所以它在数据库中存的值就是"qian",而char 不一样,如char(100),它的值是"qian",而实际上它在数据库中是"qian "(qian后共有96个空格,就是把它填满为100个字节)。
注:由于char是以固定长度的,所以它的速度会比varchar快得多!但程序处理起来要麻烦一点,要用trim之类的函数把两边的空格去掉!
4. Nvarchar类型
为了与其他多种字符的转换,如中文,音标等,对每个英文(ASCII)字符都占用2个字节,对一个汉字也占用两个字节,所有的字符都占用2个字节。
varchar(n):变长型字符数据类型,存储最长长度为8,000 个字符
nvarchar(n):可变长度 Unicode 数据,其最大长度为 4,000 字符.字节的存储大小是所输入字符个数的两倍,就是说它是双字节来存储数据的。如果存储数据如果存在单字节时,它也是以双字节来占用存储空间的。
varchar一般适用于英文和数字,Nvarchar适用中文和其他字符,其中N表示Unicode常量,可以解决多语言字符集之间的转换问题。
J. sql char 和 varchar 的区别
char会自动填充空格,varchar不会。所以varchar比较节省空间,但是检索效率char高一点。用法不存在什么区别。
举个例子吧
字段a为char(5)类型
字段b为varchar(5)类型
向a,b中赋值'123'
a的结果是'123'(123+两个空格)
b的结果是'123'