2017-01-09 235 views
0

我有这样的代码错误数据类型DBTYPE_DBTIMESTAMP转换为DATETIME2

SELECT 
TRY_CONVERT(varchar(150), "PCR_Fecha") AS "PCR_Fecha" 
FROM OPENQUERY(EXTRACCION, 'SELECT * FROM EXTRACCION.Extraccion') 

,但我得到的错误

Error converting data type DBTYPE_DBTIMESTAMP to datetime2. 

我知道在PCR_Fecha错误的值(如40218:00:00或14mayo09 )这就是为什么我试图将它们转换为varchar。

我可以用

SELECT * FROM OPENQUERY(EXTRACCION, 'SELECT CAST(PCR_Fecha AS varchar(26)) FROM EXTRACCION.Extraccion'); 

链接服务器是从的Filemaker有PCR_Fecha被设置为一个日期看到的数据。 寻找答案我发现我可以在连接字符串中定义“dbtimestamp_rules = 2”,但我不知道如何添加规则。

其他建议?

回答

0

我发现我可以从Filemaker中更改数据类型并将其设置为文本(它是之前的日期),并解决了问题。

与SQL这是

SELECT 
Convert(NVARCHAR(26),PCR_Fecha) 
FROM OPENQUERY(EXTRACCION, 'SELECT CAST(PCR_Fecha AS VARCHAR(26)) as PCR_Fecha FROM EXTRACCION.Extraccion') 

一投再转换,反正THX :)

相关问题