Sql server 2012 多个小数位的SQL数据类型

Sql server 2012 多个小数位的SQL数据类型,sql-server-2012,Sql Server 2012,SQL Server中的哪种数据类型将为表中输入的数字插入正确的小数位数。当我试图在十进制或数字字段中输入一个数字,如6.828.678,它表示输入值的格式不正确。我用什么数据类型来允许这个? 如果您试图将数据存储在格式 .6827.88(如在您的帖子中),则考虑使用 VARCHAR < /Cord>数据类型。< /P> 您无法将6.828.678格式数据存储到deciaml或numeric类型字段中,因为它们不是有效的数字格式,这就是出现错误的原因 不确定,但根据您的注释,如果您想求和并比较值

SQL Server中的哪种数据类型将为表中输入的数字插入正确的小数位数。当我试图在十进制或数字字段中输入一个数字,如6.828.678,它表示输入值的格式不正确。我用什么数据类型来允许这个?

如果您试图将数据存储在格式<代码> .6827.88(如在您的帖子中),则考虑使用<代码> VARCHAR < /Cord>数据类型。< /P> 您无法将
6.828.678
格式数据存储到
deciaml
numeric
类型字段中,因为它们不是有效的数字格式,这就是出现错误的原因

不确定,但根据您的注释,如果您想
求和
并比较值,然后将其存储为
INT
数据类型,但在插入数据之前,请确保删除


您可以使用
REPLACE()
函数,如
CAST(REPLACE('6.828.678','.','')as INT)
。希望这有帮助。

该数据项是否以数字方式使用,例如,您是否需要对其求和、计算平均值等?否则,我只会将其存储为字符串。那些应该是小数点或千位分隔符吗?虽然OP尚未指定这一点,但可能小数点是千位分隔符。是的,可能是,但即使在这种情况下,我相信它也必须存储为字符串文字。或者,删除
,然后将其存储为
INT
我需要能够执行求和并比较列中的值。所以VARCHAR不适合它,是吗?@user2437588,在这种情况下,您必须存储为
INT
type。如果有意义,请检查编辑的答案。@user2437588:我仍然不知道
6.828.678
代表什么。是三个不同的整数吗?它是一个带小数点的整数作为“千位分隔符”吗?还有别的吗?