一尘不染

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

sql

我正在使用这些代码在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数据类型?


阅读 181

收藏
2021-03-08

共1个答案

一尘不染

使用定义了精度和小数位数的DECIMAL类型

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

precision代表的允许数目(两个向左和小数POIN的右侧)的总位数,以及scale表示允许小数的位数。因此,上面的示例定义了一个十进制数字,该数字最多允许5位数字,小数部分为2位数字。

2021-03-08