我不知道楼主是怎么设置的decimal字段,但是我刚才建了一个表试了一试
create table a (a int , b decimal(3,2) default null);
insert b(a) values(1) , (2);
select * from a;
你可以试试,自己看一下结果的
关于decimal数据类型的设置必须是decimal(M,D),这里M必须大于D,表示数据位数为M,小数位数为D,这种数据类型精确度很高

解决方案 »

  1.   

    我设置的Decimal(9.2) Null Default Null. 导入的数据时从Excel转换成.txt文件,Decimal列有些行有数值,有些行没有数值,是空。但导入后,应该是Null的都成了0.00. 后来我把.txt文件的空写上Null,再导入还是0.00.我没辙了。
      

  2.   

    应该是Decimal(9,0)。上面写错了。
      

  3.   

    是不是导入的程序有问题?
    Decimal字段的自动转换成0?
      

  4.   

    导入的时候有warning吗 有的话show warnings;看看
      

  5.   

    建议楼主先尝试一下 insert 语句。然后以断定是LOAD出的问题,还是 "Decimal类型的字段为什么不能为Null?"
      

  6.   

    已经验证了,Insert没有问题,但Load就不能Null。问题是我的数据量比较大,用Insert不可行,用Load怎么能出Null?有经验的高手提示下,谢谢!
      

  7.   

    load的时候,文本文件里,,两个逗号之间的字段应该会处理成空吧