MySQL中的INT(4)究竟有什么区别?

MySQL中的INT(4)究竟有什么区别?

  我们都知道varchar(4) 代表字段只能接受字符串的长度为4位。

但是代表数字的类型INT(4)代表的是什么呢?代表数字不能有4位数,只支持到9999?

不是的,这里的4代表的是数据宽度,即如果保存的数字小于4位,会对其补0,如存入的数字为22,那么存储的为0022,但是如果存入的数据超过了4位,保存的记录

也将是原记录位数,如12345,存储的也是12345。

而且这个0022在检索的时候,还会是22。但是cast(字段名 as char) 转化为字符串后就是0022了。