我有这段代码
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 :(得分: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:)