ठीक है। मैंने अंत में एक दृश्य बनाया जो काम करता है:
SELECT TOP (100) PERCENT id, CAST(CASE WHEN IsNumeric(MyCol) = 1 THEN MyCol ELSE NULL END AS bigint) AS MyCol
FROM dbo.MyTable
WHERE (MyCol NOT LIKE '%[^0-9]%')
AdaTheDev . को धन्यवाद और CodeByMoonlight . इसे पाने के लिए मैंने आपके दो उत्तरों का उपयोग किया। (निश्चित रूप से अन्य उत्तरदाताओं के लिए भी धन्यवाद)
अब जब मैं अन्य bigint cols के साथ जुड़ता हूं या 'SELECT * FROM MyView जहां mycol =1' जैसा कुछ करता हूं तो यह बिना किसी त्रुटि के सही परिणाम देता है। मेरा अनुमान है कि क्वेरी में CAST ही क्वेरी ऑप्टिमाइज़र को मूल तालिका को नहीं देखने का कारण बनता है क्योंकि क्रिश्चियन हैटर ने कहा कि अन्य विचारों के साथ चल रहा हो सकता है