varchar 和char的区别
mysql> create table vc(v varchar(4),c char(4));
Query OK, 0 rows affected (0.08 sec)
mysql> desc vc;
+-------+------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+-------+------------+------+-----+---------+-------+
| v | varchar(4) | YES | | NULL | |
| c | char(4) | YES | | NULL | |
+-------+------------+------+-----+---------+-------+
2 rows in set (0.00 sec)
mysql> insert into vc values('ab','ab');
Query OK, 1 row affected (0.03 sec)
mysql> select length(v),length(c) from vc;
+-----------+-----------+
| length(v) | length(c) |
+-----------+-----------+
| 2 | 2 |
+-----------+-----------+
1 row in set (0.00 sec)
mysql> select concat(v,'+'),concat(c,'+') from vc;
+---------------+---------------+
| concat(v,'+') | concat(c,'+') |
+---------------+---------------+
| ab+ | ab+ |
+---------------+---------------+
1 row in set (0.03 sec)
mysql>
这样看varchar与char没有区别啊,为什么长度都是2啊,varchar(4)长度不应该是4 吗?还有varchar不是应该保留空格的吗?这是怎么回事啊