为什么从 DB2 导出到 MSSQL 数据类型 DATE、DATETIME、TIMESTAMP 时,TIMESTAMP 小数秒会减少 .001,而不是 VARCHAR()
Why is TIMESTAMP fractional seconds off by .001 when exported from DB2 to MSSQL data type DATE, DATETIME, TIMESTAMP not as VARCHAR()
当我将 TIMESTAMP
数据类型从 DB2 导出到 SQL 服务器数据类型 DATE
、DATETIME
或 TIMESTAMP
时,小数时间关闭了 . 001.如果我导出为数据类型 VARCHAR()
,我会得到正确的数据。对此有解释 and/or 解决方案吗?
我已经通过SSIS和PENTAHO导出了。
DB2 2021-10-20-21.31.41.138000
SQL 服务器 2021-10-20 21:31:41.137
提前致谢
你得到的结果完全符合预期。
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
。
当我将 TIMESTAMP
数据类型从 DB2 导出到 SQL 服务器数据类型 DATE
、DATETIME
或 TIMESTAMP
时,小数时间关闭了 . 001.如果我导出为数据类型 VARCHAR()
,我会得到正确的数据。对此有解释 and/or 解决方案吗?
我已经通过SSIS和PENTAHO导出了。
DB2 2021-10-20-21.31.41.138000
SQL 服务器 2021-10-20 21:31:41.137
提前致谢
你得到的结果完全符合预期。
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
。