उम्मीद है कि यह मदद करता है (मैं SQL सर्वर 2012 का उपयोग नहीं कर रहा हूँ)।
यदि आपका ODBC db2 से लिंक करता है, तो दिनांक सीमा के लिए समर्थित नहीं है उदा। '0001-01-01', आपको कास्ट करने की जरूरत है। आम तौर पर यह काम करता है।
SELECT *
FROM OPENQUERY(LINKEDSERVERNAME, 'SELECT Product,
CAST(DateLastReceipt AS CHAR(10))
FROM ProductTable')
यदि आप अभी भी परिणाम को तिथि के रूप में चाहते हैं, तो बस CASE का उपयोग करें और अमान्य तिथि को अपनी डिफ़ॉल्ट तिथि से बदल दें। उदा।
SELECT *
FROM OPENQUERY(LINKEDSERVERNAME, 'SELECT Product,
,CASE WHEN DateLastReceipt AS CHAR(10)) = ''0001-01-01''
THEN CURRENT_DATE
ELSE DateLastReceipt
END
FROM ProductTable')
आपको CURRENT_DATE को CURRENT_TIMESTAMP में बदलना पड़ सकता है और CASE संरचना आपके db सर्वर और आपकी आवश्यकता पर निर्भर करती है