Mysql好像不支持,你还是通过外部程序来实现吧!

解决方案 »

  1.   

    `id` int(4) unsigned zerofill NOT NULL,
      

  2.   

    示例(译者注): 
    mysql> CREATE TABLE `tA` (
        ->   `id` int(4) unsigned zerofill NOT NULL,
        ->   `salary` decimal(5,2),
        ->   PRIMARY KEY  (`id`)
        -> ) TYPE=MyISAM;
    Query OK, 0 rows affected (0.00 sec)mysql> INSERT INTO `tA` (`id`, `salary`)
        ->  VALUES (1, -99.99),     # 以数字方式插入
        ->         (2, "99.99"),    # 以字符串方式插入
        ->         (3, -999.99), 
        ->         (4, "9999.99"),
        ->         (5, -1000.00),   # decimal(5,2)最小范围为 -999.99 该值插入时结果为 -999.99
        ->         (6, "10000.00"), # decimal(5,2)最大范围为 9999.99 该值插入时结果为 9999.99
        ->         (7, "-99.999"),  # 小数位数超过 scale 指定值,但因以字符串方式插入,结果值仅截去多余部分
        ->         (8, "99.9999"),
        ->         (9, -99.999),    # 小数位数超过 scale 指定值,对该值进行四舍五入,结果为 -100.00
        ->         (10,99.9999);
    Query OK, 10 rows affected (0.00 sec)
    Records: 10  Duplicates: 0  Warnings: 4mysql> SELECT * FROM `tA`;
    +------+---------+
    | id   | salary  |
    +------+---------+
    | 0001 |  -99.99 |
    | 0002 |   99.99 |
    | 0003 | -999.99 |
    | 0004 | 9999.99 |
    | 0005 | -999.99 |
    | 0006 | 9999.99 |
    | 0007 |  -99.99 |
    | 0008 |   99.99 |
    | 0009 | -100.00 |
    | 0010 |  100.00 |
    +------+---------+
    10 rows in set (0.00 sec)* 以上结果在 MySQL 4.0.12 中测试
      

  3.   

    Mysql 4.0.16  怎么没有这个效果?