代码之家  ›  专栏  ›  技术社区  ›  guagay_wk

在sqlite中什么时候应该使用实数数据类型还是数字数据类型?

  •  3
  • guagay_wk  · 技术社区  · 8 年前

    在sqlite中,实数和数字数据类型似乎相似。既然NUMERIC支持十进制(10,5),那么什么时候应该使用REAL呢?

    https://www.tutorialspoint.com/sqlite/sqlite_data_types.htm

    1 回复  |  直到 8 年前
        1
  •  31
  •   Tim Biegeleisen    6 年前

    与大多数其他RDBMS不同,SQLite使用动态类型系统。这意味着SQLite的五个存储类中的任何一个都可以出现在任何列中,尽管该列属于一种类型。但很明显,在单个列中混合类型并不是最佳实践。例如,在同一列中混合数字和字符数据是不好的做法,就像在任何数据库中一样。SQLite中的五个实际存储类是:

    • 无效的
    • 整数
    • 真的

    这个 REAL 存储类用于具有十进制分量的数字数据。浮点数就属于这一类。其他没有小数部分的数字将被分配给 INTEGER

    documentation ,我们可以看到 NUMERIC

    • 数字
    • 十进制(10,5)
    • 布尔值
    • 日期时间

    所以,如果你打算 DECIMAL(10,5) 数字 亲和力是有道理的。另一方面,亲和力 真的 与浮点(不精确)十进制数据关联。同样,您可以在任一列中存储任一类型,但是从兼容性的角度来看,您可以遵循关联规则。

    推荐文章