varchar2长度定义的问题 一个字段想保存a、b、c之类的字符,所以定义成varchar2(1),可以正常插入,作为条件查询时也能返回记录,但该字段显示的值却是空。比如表名叫test,有两个字段,分别是sex,类型为varchar2(1)和name,类型是varchar2(10),用insert into test (sex,name) values('a','jobs'),insert into test (sex,name) values ('a','gas'),可以正常插入两条记录,用select * from test where (sex='a')也能返回两条记录,但sex那里显示出来的却是空。sex类型改成varchar2(2)就没这问题了。啥原因呢?
create table test(sex varchar2(1),name varchar2(10));
insert into test (sex,name) values('a','jobs');
insert into test (sex,name) values ('a','gas');
SQL> select * from test where (sex='a');
SEX NAME
--- ----------
a jobs
a gas
------解决方案--------------------
select table_name,column_name,data_type,data_length where table_name='TEST'。