June 14 2017

varchar(10)和varchar(10 char)的区别

网上有一种说法 说是VARCHAR2(50 char)这种类型的字段最多放50个字符,不够50个用空格填充;
而VARCHAR2(50)最大允许存放50个字符,但是不足50个也不用空格填充。

drop table t;
create table t(d1 VARCHAR2(10 CHAR),d2 VARCHAR2(10));
insert into t values(‘1′,’1’);
commit;

select length(d1),length(d2) from t;

做了一个实验 现在这种说法是错误的

正确的实验如下create table a(name varchar2(2));
insert into a values(‘你你’);
drop table a;
create table aa(name varchar2(2 char));
insert into aa values(‘你你’);

varchar(10)和varchar(10 char)的区别在于char之后和字符集就无关了

 



Copyright 2019. All rights reserved.

Posted 2017年6月14日 by ucjmh in category "mysql

Leave a Reply

Your email address will not be published. Required fields are marked *