SQL 服务器 Polybase | Cosmos 文档数据库日期转换问题

SQL Server Polybase | Cosmos Document DB Date conversion issue

我是 Polybase 的新手。我已将我的 SQL 2019 服务器链接到第三方 Azure cosmos,我可以从我的集合中查询数据。但是,当我尝试查询日期字段时出现错误。在文档中,日期定义为:

"created" : {
    "$date" : 1579540834768
},

在我的外部 table 中,我将列定义为

[created] DATE,

我尝试将列创建为 int 和 nvarchar(128),但模式检测每次都拒绝它。 (我试图创建一个字段 created_date 但模式检测也不同意这是正确的。

当我尝试查询 returns 任何日期字段时,我收到此错误:

Msg 105082, Level 16, State 1, Line 8
105082;Generic ODBC error: [Microsoft][Support] (40460) Fractional data truncated while performing conversion. .
OLE DB provider "MSOLEDBSQL" for linked server "(null)" returned message "Unspecified error".
Msg 7421, Level 16, State 2, Line 8
Cannot fetch the rowset from OLE DB provider "MSOLEDBSQL" for linked server "(null)". .

如果我尝试在我的查询中排除空值,就会发生这种情况 - 即使在过滤到填充日期的特定记录时(使用 Azure 门户界面验证)

我应该做些什么来处理 json 记录中的整数日期;或者我可以用来让我的外部 table 工作的另一种类型?

找到解决办法。 SQL 服务器为架构中的 mongodb 日期推荐了错误的类型。使用 DateTime2 解决了这个问题。在 msdn 的 polybase type mapping page 上找到这个。