SQL SERVER ERROR: "The conversion of a datetime2 data type to a datetime data type resulted in an out-of-range value." (informix to sql server)

SQL SERVER ERROR: "The conversion of a datetime2 data type to a datetime data type resulted in an out-of-range value." (informix to sql server)

我有一个 sql 服务器链接服务器来访问 informix 数据库,我正在使用 openquery 运行 查询,然后将结果插入 sql 服务器table.

问题是当我 运行 代码像:

INSERT INTO table_name
( date, comments, user )
SELECT f.date
     , f.comments
     , f.user
  FROM OPENQUERY( LINKED_SERVER_NAME, 
                  'select date
                        , description as comments
                        , user_name as user
                     from tsperson' 
                 ) AS f

我收到这个错误:

"The conversion of a datetime2 data type to a datetime data type resulted in an out-of-range value."

我已经尝试过投射,但没有成功。

我在这里和 Google 中搜索了一些答案,但没有找到答案。

那么,有人可以帮助我吗?

您要插入的 table 中的 date 字段似乎使用了 datetime 数据类型。您正在接收 datetime2 格式的数据,该格式超出了有效 datetime 类型的范围。

您可能需要更新 table 以便 datedatetime2 类型,或者过滤传入数据以删除您不支持的日期。


datetime 日期范围:1753 年 1 月 1 日至 9999 年 12 月 31 日

datetime2 日期范围:0001-01-01 到 9999-12-31

https://docs.microsoft.com/en-us/sql/t-sql/data-types/datetime2-transact-sql