char 与 varchar的区别,浮点数与定点数差别

A: 

 char与varchar的数据类型类似,都是存储字符型的数据。但是他们在存储容量和存储内容(尾部的空格是否存储)上有区别。

在存储容量上看:

char在存储‘’,‘aa’,‘aacd’上,都是要占用4个字节,就是固定长度的字符型;

varchar在存储‘’上是占用1个字节,‘aa‘占用3个字节,’abcd‘占用5个字符,变长字符型;


在存储内容上看:

create table t (a char(5),b varchar(5));

insert into t  value (’aa  ‘,’aa  ‘);

此时~t 表保存的内容是:'aa','aa  '。也就是说,char会忽略字符串尾部的空格;


B:

浮点数与定点数都是可以存放带有小数点的数, float / double /real 都是属于浮点型类型,  decimal /numberic 是定点数.。

他们的区别在于数据的精准度,浮点数在长度相等的情况下能存放更大的数据范围,但是会引起精准度问题,如果数据是银行货币。

ex:

create table t1 (a float(10,2),b decimal(10,2);

insert into t1 values(110.32,110.32);

select * from t1;

       a                     b

110.31             110.32

你可能感兴趣的:(char 与 varchar的区别,浮点数与定点数差别)