当前位置: 代码迷 >> Oracle管理 >> varchar2长度定义的有关问题
  详细解决方案

varchar2长度定义的有关问题

热度:8   发布时间:2016-04-24 05:25:35.0
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)就没这问题了。啥原因呢?

------解决方案--------------------
经过测试,没有这种情况出现滴~~~
------解决方案--------------------
探讨

经过测试,没有这种情况出现滴~~~

------解决方案--------------------
无图无真相。。。楼主把结果发出来看看。。。
SQL code
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   jobsa   gas
------解决方案--------------------
select table_name,column_name,data_type,data_length where table_name='TEST'。

看看内容是否和预期的一样。 楼主不是测试了好几次,然后有好几个名称相似的表吧