代码之家  ›  专栏  ›  技术社区  ›  sniperd Ali Ahmed

SQL数据类型-建议使用“未知”数字

  •  0
  • sniperd Ali Ahmed  · 技术社区  · 6 年前

    我正在将一些外部数据拉入我的MSSQL服务器。有几列传入数据被标记为“number”(这是一个json文件)。它有数百万行的大小,许多列看起来是 decimal (18,2) 喜欢 23.33 . 但我不能肯定会一直这样,事实上 23.333 23.35555555 会把我的进口搞砸的。

    varchar 或者有没有一个我没有想到的非常通用的列?

    是否有一个最大大小的小数,类似于使用 VARCHAR(8000) VARCHAR(MAX) ?

    这是 number 我要拉进去: https://dev.socrata.com/docs/datatypes/number.html#

    从他们的文章来看,它几乎可以是任何数字:

    2 回复  |  直到 6 年前
        1
  •  2
  •   Yogesh Sharma    6 年前

    varchar(max) 列。

    然后我用 TRY_PARSE() TRY_CONVERT()

    这里的要点是,传入数据的形状不应该决定您使用的数据类型。数据类型应该由数据在表中的使用情况决定。如果输入的数据不合适,有办法使其合适。

        2
  •  2
  •   devtech    6 年前

    但如果它们是坐标或货币,或者是绝对精确计算所需的任何东西,浮动有时可能会产生舍入问题。然后你应该用十进制设置你想要的最小精度,并简单地截断最终结束的部分。 例如,如果大多数数字有两个小数点,你可以用3或4个小数点来确定,但超过这个数就会被截断。