0

菜鸟的时候,我开发了一个网站来存储日常开支,并将开支保存为varchar。现在我只想将数据库的结构(其中包含所有数千个数据)更改为十进制(我发现这是存储货币内容的最佳方式)。我的问题是,所有费用数据都会完好无损吗?还是会损坏任何东西?

4

2 回答 2

3

我建议采用分层方法:

  • 更改数据库结构并添加十进制字段。
  • 将数据库中的数据选择为您选择的编程语言。
  • 用语言转换数据,写一个 SQL 脚本来插入(或直接插入)。
  • 删除 VARCHAR 字段
  • 将 DECIMAL 字段重命名为 VARCHAR 字段的名称。
于 2013-04-11T19:06:13.227 回答
1

取决于你有多少...?如果您有常量小数(例如总是 2 个小数),那么您可以将类型更改为decimal(8,2)6 个整数和 2 个小数。如果数据的小数点少于 2 位 2.1 => 2.10但另一方面,如果小数点位多于 2 位,那么它将是2.118 => 2.11所以要小心这一点。

进行一些 CAST 测试,您可能想阅读这个问题:Problem convert column values from VARCHAR(n) to DECIMAL

于 2013-04-11T19:12:41.167 回答