想利用别人的数据库读取数据,字段类型为decimal  数据库中存的是9255 如果在sql语句中使用select  字段  from 表  结果读取9255000000,不知道是为什么,求助!!!如果在sql语句中使用select decimal(字段,0.00) from 表 读出来的是9,255.00 但是这样挺麻烦的且显示的也不是9255如果将字段类型decimal  改为float 或者是把他原始数据删掉自己填写个数字都不会出现读取不正确的情况

解决方案 »

  1.   

    show create table xxx
    显示一下你的建表语句?
      

  2.   

    检查是否有FILL ZERO之类的
      

  3.   


    建表的时候,有fill zero的缘故,是右边填充的吧,楼主管别人拿过来 建表语句 看看吧!
      

  4.   

    CREATE  TABLE `dms`.`B2` (
      `id` INT ZEROFILL NOT NULL )
    ENGINE = MyISAM
    DEFAULT CHARACTER SET = utf8;insert into dms.B2 select 1;
    insert into dms.B2 select 100006;select * from dms.B2;
    -- 结果如下
    '0000000001'
    '0000100006'
    为什么楼主的是右边补充0呢。
      

  5.   

    CREATE  TABLE `dms`.`B3` (
      `id` decimal ZEROFILL NOT NULL )
    ENGINE = MyISAM
    DEFAULT CHARACTER SET = utf8;insert into dms.B3 select 1.1;
    insert into dms.B3 select 100006.6;
    insert into dms.B3 select 9225;
    select * from dms.B3;
    -- 结果如下
    '0000000001'
    '0000100007'
    '0000009225'
      

  6.   

    没有发现楼主所说的右边补0的情况,我的zerofull 都是左边补0啊。