Sql server 从Apache Drill和datetimeoffset查询SQL Server

Sql server 从Apache Drill和datetimeoffset查询SQL Server,sql-server,datetimeoffset,apache-drill,Sql Server,Datetimeoffset,Apache Drill,我试图从Apache Drill查询SQL Server,但当SQL Server表包含datetimeoffset(SQL Server类型)列时,我遇到了一些问题 在此类表上从Drill到SQL Server的任何SELECT查询都会导致响应: 错误: 验证错误:未知的SQL类型-155 我确信它来自表中的datetimeoffset列,因为我在没有datetimeoffset列的表上测试了相同类型的查询,并获得了令人满意的结果 我浏览了Drill的文档(例如,本页),并尝试将datetim

我试图从Apache Drill查询SQL Server,但当SQL Server表包含
datetimeoffset
(SQL Server类型)列时,我遇到了一些问题

在此类表上从Drill到SQL Server的任何SELECT查询都会导致响应:

错误:

验证错误:未知的SQL类型-155

我确信它来自表中的datetimeoffset列,因为我在没有datetimeoffset列的表上测试了相同类型的查询,并获得了令人满意的结果

我浏览了Drill的文档(例如,本页),并尝试将
datetimeoffset
列转换为支持SQL的类型,但没有任何效果,Apache Drill一直回答我相同的错误


你知道怎么度过这一关吗

我可以确认这实际上是JDBC库没有很好地处理
DATETIMEOFFSET
的问题

我目前知道的唯一解决方案是在输出时转换数据,如下所示:

,CAST(my_datetimeoffset_col AS DATETIME2)                  as datetime_local           
,CAST(SWITCHOFFSET(my_datetimeoffset_col, 0) AS DATETIME2) as datetime_utc             
,DATEPART(TZ, my_datetimeoffset_col)                       as datetime_tz  
您可以选择只输出UTC或本地时间,但根据我的经验,选择了
DATETIMEOFFSET
,因为这两种时间都是需要的