问题:在下面的情况下,我是否应将所有金额存储为正数小数,然后将金额标记为“借方”或“贷方”,而不是将借方存入负数并将贷方存入正数?
在我的数据库设计中,我将“借记”存储为负数,将信用存储为正数.
现在报告有时候结果出错了,因为如果你这样做了
TotalAmount =金额 – 费用,如果提款金额为100美元,费用为1美元.
你最终会得到 – $100- $1 = – $101,这是不正确的结果!
解决方法
您可以使用sql server中的ABS函数来获取绝对值.这将允许您将负数视为正数.
例如:
选择ABS(-100)
返回100,而不是-100.