当前位置: 首页 > 面试题库 >

在SQLite3中存储货币值

向泽语
2023-03-14
问题内容

我正在应用程序中处理许多不同的货币,我想知道将它们存储在SQLite3数据库中的“最佳”方法是什么。

我倾向于定点表示(即,将它们存储为整数,其中$ 3.59被存储为359,¥400被存储为40000)。这是一个好主意吗?如果我的输入数据以后更改并且需要更高的精度怎么办?


问题答案:

鉴于SQLite 3将最多使用8个字节来存储INTEGER类型,除非您要使用大于10 ^ 16的数字,否则就可以了。

从这个角度来看,以千分之一美元(工厂)表示的世界国内生产总值约为61‘000‘000‘000‘000‘000,而sqlite3毫无问题。

sqlite> create table gdp (planet string, mills integer);
sqlite> insert into gdp (planet, mills) values ('earth', 61000000000000000000);
sqlite> select * from gdp;
earth|61000000000000000000

除非您正在处理行星际会计,否则我认为您不必担心。



 类似资料:
  • 问题内容: 在一个新项目中,我正在以CSV格式导入到mysql表中的数据。列之一是价格字段,该字段以欧洲格式(即,欧元)存储货币。345,83。我遇到的问题是存储此十进制分隔符。在大多数欧洲货币中,十进制分隔符为“,”,但是当我尝试在字段中插入十进制数字(例如345,83)时,出现以下错误:“行’row#的列’column_name’的数据被截断了’”。如果我使用“。” 而不是“,”可以正常工作。

  • 问题内容: 我想在MySQL数据库中存储许多记录。它们全部包含金钱价值。但是我不知道每个数字将插入多少个数字。 为此,我必须使用哪种数据类型? VARCHAR 或 INT (或其他数字数据类型)? 问题答案: 由于资金需要精确的表示,因此不要使用只近似的数据类型。您可以将定点数字数据类型用于 是精度(值的总长度,包括小数位) 是小数点后的位数 请参见MySQL数值类型: 当保留精确度非常重要时,例

  • 我想在一个MySQL数据库中存储许多记录。所有这些都包含了金钱价值。但我不知道每一个会插入多少个数字。 为此我必须使用哪种数据类型? VARCHAR或INT(或其他数值数据类型)?

  • 我试过... 但那就不允许便士条目了。 我想要增量按钮控制在英镑上升,但仍然想要输入便士的能力。 谢谢,1DMF

  • 我读过不同的Q 脚本: Raddo公司在英国、法国和美国设有3个分支机构。拉德多有基础货币美元。预算是以美元编制的。Raddo商店支持数据库中的库伦奇汇率。 英国员工以英镑创建采购订单,法国员工以欧元创建采购订单。 问题1:采购订单/订单项目数据库表中应存储哪些内容-分行所在地货币和当前汇率或以基础货币美元表示的换算金额?请记住,汇率必须是创建采购订单时的汇率。 问题2:转换什么以及何时能够生成美

  • 问题内容: 货币值的最佳SQL数据类型是什么?我正在使用MySQL,但希望使用与数据库无关的类型。 问题答案: 在大多数情况下,类似的东西通常效果很好。您可以调整比例和精度以适合需要存储的数字的需求。即使在SQL Server中,我也倾向于不使用“ ”,因为它是非标准的。