none
【SQL】金额如果存在数据库中应该使用何种类型? RRS feed

  • 问题

  • 问一下,金额如果保存在数据库中,字段类型最好是以下哪种?请说下具体好处

    float money int decimal

    2010年8月2日 6:02

答案

  • moneysmallmoney 数据类型精确到它们所代表的货币单位的万分之一 。如果你的存储值需要一些货币符号 如¥$ 等,就用money or smallmoney

    int只能存储整数的钱

    float 对货币这种需要精确值的数值不合适

    我们一般还可以用decimal存储货币 因为它是精确的

    • 已标记为答案 jinwb1982 2010年8月3日 6:10
    2010年8月2日 6:17
  • flaot 不行, 它是用来存储对数据准确性没有严格要求的大数据的, 金额不属于这种数据

    money/smallmoney 的小数位和能存储的数值范围是固定的, 如果在你的业务许可的范围内, 可以选择这种

    decimal/numberic 可以自定义小数位和能存储的数据精度, 所以一般使用这种类型的人会多一些

    • 已标记为答案 jinwb1982 2010年8月3日 6:10
    2010年8月3日 4:54
  • 我总结一下吧,在财务方面最好实用money与decimal类型。

    如果是简单的计算可以使用float类型,不过float类型在有些平台上取出数据并不是那么准确,有可能会丢失精度。所以说如果在性能稳定的平台中,开销不是很大,建议使用以上两种类型。

    本人现在使用的就是这两个。

    • 已标记为答案 jinwb1982 2010年8月6日 9:30
    2010年8月6日 9:30

全部回复

  • moneysmallmoney 数据类型精确到它们所代表的货币单位的万分之一 。如果你的存储值需要一些货币符号 如¥$ 等,就用money or smallmoney

    int只能存储整数的钱

    float 对货币这种需要精确值的数值不合适

    我们一般还可以用decimal存储货币 因为它是精确的

    • 已标记为答案 jinwb1982 2010年8月3日 6:10
    2010年8月2日 6:17
  • moneysmallmoney 数据类型精确到它们所代表的货币单位的万分之一 。如果你的存储值需要一些货币符号 如¥$ 等,就用money or smallmoney

    int只能存储整数的钱

    float 对货币这种需要精确值的数值不合适

    我们一般还可以用decimal存储货币 因为它是精确的

    赞同。
    如果您得到满意的答复,请将正确的回复标记为答案,以示问题解决,方便其他人浏览!Ths!
    2010年8月2日 8:33
  • 补充一点:

    很多业务系统使用分作为单位来存储,这样就就使用int来存储,好处是计算方便,不足是每次显示的时候,都需要转换(除100转换为元)

    numberic也是不错选择,你可以指定小数个数。

     


    family as water
    2010年8月2日 10:36
  • flaot 不行, 它是用来存储对数据准确性没有严格要求的大数据的, 金额不属于这种数据

    money/smallmoney 的小数位和能存储的数值范围是固定的, 如果在你的业务许可的范围内, 可以选择这种

    decimal/numberic 可以自定义小数位和能存储的数据精度, 所以一般使用这种类型的人会多一些

    • 已标记为答案 jinwb1982 2010年8月3日 6:10
    2010年8月3日 4:54
  • 我总结一下吧,在财务方面最好实用money与decimal类型。

    如果是简单的计算可以使用float类型,不过float类型在有些平台上取出数据并不是那么准确,有可能会丢失精度。所以说如果在性能稳定的平台中,开销不是很大,建议使用以上两种类型。

    本人现在使用的就是这两个。

    • 已标记为答案 jinwb1982 2010年8月6日 9:30
    2010年8月6日 9:30