如何在Derby数据库中的双列中设置精度?

时间:2013-04-15 11:59:40

标签: java sql derby

我正在使用这些代码在derby数据库中创建一个表。

    CREATE TABLE "USED_BANKACCOUNT"
    (
       "FYEAR" VARCHAR(10),
        "NUM" DOUBLE,
       "USERNAME" VARCHAR(20)
        );

我的数据存储方式如下。

   FYEAR              NUM                  USERNAME
   ---------------------------------------------------
   2013               10.5                 Pranjal
   2013               5.25                 Pranjal
   2013               9.0                  Bimal 
   ---------------------------------------------------

但我希望我的数据像这样存储

   FYEAR              NUM                  USERNAME
   ---------------------------------------------------
   2013               10.50                 Pranjal
   2013               5.25                  Pranjal
   2013               9.00                  Bimal 
   ---------------------------------------------------

我应该如何处理DOUBLE数据类型?

1 个答案:

答案 0 :(得分:2)

使用具有定义精度和比例的DECIMAL type

CREATE TABLE "USED_BANKACCOUNT" (
    "FYEAR" VARCHAR(10),
    "NUM" DECIMAL(5, 2),
    "USERNAME" VARCHAR(20)
);

precision表示数字中允许的总位数(小数点左侧和右侧),scale表示允许的小数位数。因此,上面的示例定义了一个十进制数,允许最多5位数,在小数部分中有2位数。