首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >货币、十进制或数字货币栏

货币、十进制或数字货币栏
EN

Stack Overflow用户
提问于 2014-02-23 17:52:23
回答 4查看 1.7K关注 0票数 6

我正在创建一个SQL表来保存事务:

代码语言:javascript
复制
create table dbo.TRANSACTIONS
(
  Id int identity not null,
  Amount money not null
);

对于货币(我使用的是欧元),我应该使用货币、十进制还是数字?

我已经看到这三种方法被应用于货币专栏,所以我不再确定了。

金钱是显而易见的选择..。但我见过十进制和数字。

顺便说一下,我正在使用Server 2012。

谢谢

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2014-02-23 18:00:32

首先,十进制和数字具有相同的功能(有关MSDN的信息)

要回答货币与小数点之间的新问题,已经有一个关于它的堆栈溢出问题:您应该选择Server中的货币或十进制(x,y)数据类型吗? --简短的答案是:

永远不要用金钱--它是不精确的,它是纯粹的垃圾,永远使用十进制/数字。

SQLMenace

票数 7
EN

Stack Overflow用户

发布于 2014-02-23 18:02:06

十进制与数字是给几乎所有的目的等价物

Money不是一个标准的Sql类型,也可能有其他原因来避免它。

因此,选择适当的规模和精度,并使用DECIMAL

Re :十进制(19,4)与(20,4)

这里的精度与存储表总结了一些事情。

19,4将以9字节的代价存储999 999 999 999 999.9999值。精度为20将需要13字节,这将是浪费,除非您需要额外的精度(在这种情况下,您可以达到28与相同的存储)。

另外,对于相同的9个字节,您也可以使用例如19,2,它将存储99 999 999 999 999 999.99

票数 2
EN

Stack Overflow用户

发布于 2014-02-23 18:01:27

只要使用整数,如果你有大的数据,并想有效地记忆数据。当您在前端查看数据时,只需将该数字除以100。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/21972028

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档