首页 > 解决方案 > 如何在 Microsoft SQL 中更新小数数据类型的属性以更改显示的小数位数?

问题描述

最近,我一直在使用 Microsoft SQL 创建使用 excel 文档引用的数据库。在许多情况下,我需要对我的表进行一些小的更改并最终“删除”所有当前表并使用更新的查询重新创建它们。我知道您可以使用 UPDATE 来更改表中记录的值,但我正在寻找一种数据类型,以便我可以将表的一条记录中的小数位数从 2 更改为 3。用于创建的代码表看起来像这样:

创建表 WIRE_INDEX

--"Field"   "Data Type"    "Null or Not"
  (...
   ...
   DENSITY   decimal(18,2)  Not Null);

我不知道解决方案是否显而易见,但我一直找不到任何有用的东西。我不确定如何在 SQL 中引用字段的数据类型。

当我填充数据库时,我使用像 0.283 和 0.164 这样的数字,但是当我选择记录时,我只得到前两位小数。我希望前 3 位小数以我将它们输入表格的方式出现。

(编辑没有正确显示)

标签: sqlssms

解决方案


(不确定我是否应该发布我的解决方案),但感谢 TEEKAY 和 Apurav 回答我的问题。我使用了 Apurav 发布的代码,如下所示:

ALTER TABLE WIRE_INDEX ALTER COLUMN DENSITY decimal(18,3) Not Null

当我使用 SELECT 语句拉表时,精度显示三位小数,但我失去了输入的精度,不得不使用 UPDATE 重新输入我的值。不确定这是否比重新开始更有效,但它对我有用,现在我知道了。


推荐阅读