Sqlserver
 sql >> डेटाबेस >  >> RDS >> Sqlserver

डेटा प्रकार varchar परिवर्तित करने में त्रुटि

ठीक है। मैंने अंत में एक दृश्य बनाया जो काम करता है:

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 ही क्वेरी ऑप्टिमाइज़र को मूल तालिका को नहीं देखने का कारण बनता है क्योंकि क्रिश्चियन हैटर ने कहा कि अन्य विचारों के साथ चल रहा हो सकता है



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. शुरुआती के लिए SQL सर्वर में डायनामिक डेटा मास्किंग

  2. SQL सर्वर (T-SQL) में उन्नत सर्वर कॉन्फ़िगरेशन विकल्प दिखाएँ

  3. कमांड लाइन के माध्यम से SQL सर्वर डेटाबेस प्रोजेक्ट (SSDT) ​​को तैनात करें

  4. एसक्यूएल आउटपुट क्लॉज के लिए कॉलम को सम्मिलित नहीं करने के लिए यह संभव है?

  5. SQL सर्वर Oracle के क्रिएट या रिप्लेस व्यू के बराबर है