sql >> Base de Datos >  >> RDS >> Sqlserver

Error al convertir dbtype_dbdate a la fecha

espero que esto ayude (no estoy usando SQL Server 2012).
si su ODBC se vincula a db2, para el rango de fechas no es compatible, p. '0001-01-01', necesitas lanzar. Normalmente esto funciona.

SELECT * 
FROM   OPENQUERY(LINKEDSERVERNAME, 'SELECT Product, 
                                       CAST(DateLastReceipt AS CHAR(10))
                                FROM   ProductTable')

Si aún desea el resultado como fecha, simplemente use CASE y reemplace la fecha no válida por su fecha predeterminada, por ejemplo,

SELECT *
FROM   OPENQUERY(LINKEDSERVERNAME, 'SELECT Product, 
                               ,CASE WHEN DateLastReceipt AS CHAR(10)) = ''0001-01-01''
                                       THEN CURRENT_DATE
                                     ELSE DateLastReceipt 
                                     END
                                FROM   ProductTable')

Es posible que deba cambiar CURRENT_DATE a CURRENT_TIMESTAMP y la composición de CASE depende de su servidor de base de datos y sus requisitos