从DB2导出到MSSQL时,数据类型DATE、DATETIME、TIMESTAMP不是VARCHAR(),为什么TIMESTAMP的小数秒相差0.001

klh5stk1  于 2022-11-07  发布在  DB2
关注(0)|答案(1)|浏览(139)

当我将TIMESTAMP数据类型从DB2导出到SQL Server数据类型DATEDATETIMETIMESTAMP时,小数时间相差0.001。如果我导出为VARCHAR()数据类型,我会得到正确的数据。是否有对此的解释和/或解决方案?
我已通过SSIS和PENTAHO导出。
DB22021-10-20-21.31.41.138000
SQL服务器2021-10-20 21:31:41.137
先谢谢你了

2j4z5cfb

2j4z5cfb1#

你得到的结果完全在意料之中。
datetime精确到1/300秒。在datetime中最接近2021-10-20-21.31.41.138000的是2021-10-20T21:31:41.136666666666~,它在屏幕上表示为2021-10-20 21:31:41.137(因为显示的值精确到3位数,并且四舍五入)。
如果您希望该值精确到1/100000秒,请使用datetime2(6),它可以精确地存储值2021-10-20T21:31:41.138000

相关问题