hoop dat dit helpt (ik gebruik geen SQL Server 2012).
Als uw ODBC naar db2 linkt, wordt voor datumbereik b.v. '0001-01-01', je moet casten. Normaal gesproken werkt dit.
SELECT *
FROM OPENQUERY(LINKEDSERVERNAME, 'SELECT Product,
CAST(DateLastReceipt AS CHAR(10))
FROM ProductTable')
Als u het resultaat nog steeds als datum wilt, gebruikt u gewoon CASE en vervangt u de ongeldige datum door uw standaarddatum, bijvoorbeeld
SELECT *
FROM OPENQUERY(LINKEDSERVERNAME, 'SELECT Product,
,CASE WHEN DateLastReceipt AS CHAR(10)) = ''0001-01-01''
THEN CURRENT_DATE
ELSE DateLastReceipt
END
FROM ProductTable')
Mogelijk moet u CURRENT_DATE wijzigen in CURRENT_TIMESTAMP en de samenstelling van CASE hangt af van uw db-server en uw vereisten