excel - DT_NUMERIC 和 DT_DECIMAL 之间有什么区别吗?
问题描述
我正在映射我的 SSIS 包中的列,我注意到我在 SQL 中的表有十进制列,但是当我使用十进制将 excel 列映射到我的数据库表时出现错误。我需要使用数字而不是十进制吗?
解决方案
是的,它们是不同的——数字“更大”:16 对 12 字节;刻度 0 - 38 与 0 - 28;最大精度 38 与 29:
DT_DECIMAL
具有固定精度和固定比例的精确数值。此数据类型是一个 12 字节的无符号整数,带有单独的符号,范围为 0 到 28,最大精度为 29。
DT_NUMERIC
具有固定精度和比例的精确数值。此数据类型是一个 16 字节的无符号整数,带有单独的符号,范围为 0 - 38,最大精度为 38。
下表显示了合法的 SSIS “cast” 操作:
另请参阅此链接:
https://stackoverflow.com/a/24519244/421195
好吧,有人指出我需要添加缺少的比例。
推荐阅读
- swift - 如何在子 ViewController 上 segue 后显示 UITabBar?
- python - 为什么函数中的 DataFrame.replace() 不会更改输入 DataFrame
- javascript - 你能动态地为 SVG 制作动画吗?
- python - 从 int 到系列的数据转换
- javascript - 单击时更改锚标记的内容和目标
- python - 有没有更有效的算法来计算 8 拼图游戏的曼哈顿距离?
- r - 循环“result_vector = c(result_vector, new_value)”时究竟会发生什么
- mysql - 无法创建/写入文件'/home/vagrant/folder/test.csv'(错误代码:13“权限被拒绝”
- c# - 在设计时添加通用 Windows 窗体 UserControl
- java - 连接具有 StringConverter 的 Slider 和 Spinner