将SQL Server用于科学用途:什么数据类型?

时间:2019-01-14 18:41:59

标签: sql-server

我试图将一些科学数据从MS-Access转移到MS-SQL,并且遇到了困扰我的数据类型问题。有一些有关小鼠体重的数据(以克为单位)。例如,有时收集的权重为3.45(小数点后2位)。其他时间可能是14.567(小数点后3位)。其他时间可能是1.20。收集数据时,将以特定的精度(2或3个小数位)进行收集。但是由于这个1.20不等于1.2-保持原始精度至关重要。

将这些存储在Access中的数据转换为“数字”时,我只有两种选择-我可以将数据以实数或浮点数形式传递,或者以数字或十进制数形式传递。实数或浮点数是近似值,有时会增加不想要的精度(我看到0.75等于0.74999672,或类似的东西)。但是小数/数字选项迫使我指定我想要多少个小数位,并且由于这些小数变化,所以如果我选择最大小数位,它将在不那么精确的值上附加尾随零,从而使得无法知道数据是最初收集的。

我想我可以在Access中为数字数据创建其他计算出的字符串列,将数据作为字符串导入,这样可以保持精度。但是我仍然必须将它们作为字符串存储在SQL中,因为一旦尝试将它们转换为数字,我就会遇到相同的问题。

需要明确的是,这与数据是否起源于MS-Access或使用Web表单或其他界面直接以某种方式直接输入MS-SQL无关—问题在于数据的存储方式SQL中以及如何格式化它们以进行显示。

我很难相信SQL没有一种将数字准确地存储在列中的方法。我在这里想念东西吗?

0 个答案:

没有答案