当我将TIMESTAMP数据类型从DB2导出到SQL Server数据类型DATE、DATETIME或TIMESTAMP时,小数时间相差0.001。如果我导出为VARCHAR()数据类型,我会得到正确的数据。是否有对此的解释和/或解决方案?我已通过SSIS和PENTAHO导出。DB22021-10-20-21.31.41.138000SQL服务器2021-10-20 21:31:41.137先谢谢你了
TIMESTAMP
DATE
DATETIME
VARCHAR()
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。
datetime
2021-10-20-21.31.41.138000
2021-10-20T21:31:41.136666666666~
2021-10-20 21:31:41.137
datetime2(6)
2021-10-20T21:31:41.138000
1条答案
按热度按时间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
。