2009-01-09 14 views
8

जब मैं एक लंबी तालिका में रिकॉर्ड डालता हूं, तो मुझे त्रुटि मिल रही है "वर्चर्स वैल्यू को परिवर्तित करते समय रूपांतरण विफल हुआ 'न्यूल' डेटा टाइप int" मैं कैसे निर्धारित कर सकता हूं कि कौन से कॉलम त्रुटियां हैं?"वर्चर वैल्यू 'न्यूल' को डेटा टाइप int में परिवर्तित करते समय रूपांतरण विफल रहा"

तालिका कई क्षेत्रों और रिकॉर्ड के लाखों लोगों की है। जब मैं "पूर्ण" स्ट्रिंग को कहीं पूर्णांक कॉलम में डालने का प्रयास करता हूं तो प्रत्येक पुनरावृत्ति में 10 मिनट लगते हैं। मैंने सोचा कि एसक्यूएल सर्वर मुझे कॉलम का सटीक नाम बता सकता है :(

+0

क्या आप एक लंबे तालिका मतलब है और आप एसक्यूएल कि समस्या का कारण है दिखा सकता है? – wcm

+0

आप यह त्रुटि कहां देख रहे हैं। क्या आप क्वेरी विश्लेषक से एक स्क्रिप्ट चला रहे हैं या यह एक dotNet ऐप में executeScalar कॉल से बुलबुला है। एक बार जब हम इसे जानते हैं, तो हम इसे हल करने के तरीके के बारे में कुछ बेहतर सुझाव दे सकते हैं। – wcm

उत्तर

2

बमबारी बंद होने तक एक बार सामान को टिप्पणी करना प्रारंभ करें। या, एक नज़र डालें और देखें कि आप किस मूल्य को पार कर रहे हैं वह एक int कॉलम के लिए शून्य है ।

+0

मैं सहमत हूं, सुरुचिपूर्ण या जरूरी नहीं, लेकिन जिस तरह से मैं इसे करूँगा। –

2

आप डेटा को ठीक करने की जरूरत है या आप बस 0 के लिए nulls परिवर्तित कर सकते हैं कि के लिए सम्मिलित करें?

तुम सिर्फ परिवर्तित कर सकते हैं, तो आप अपने varchars कि एक IsNull समारोह के साथ परिवर्तित हो रहे हैं लपेट सकता है। बस डाल int फ़ील्ड में डालने वाले किसी भी मान के आसपास निम्नलिखित।

ISNULL(col1,0) 
12

यदि मान वास्तव में NULL है, तो रूपांतरण त्रुटि नहीं होगी। हालांकि, आपके पास स्ट्रिंग = "न्यूल" है तो आपको यह त्रुटि मिल जाएगी।

क्या तुम कर सकते हो रहा है ...

NullIf(YourValueHere, 'NULL') 

NullIf पहले पैरामीटर का मान देता है अगर यह दूसरा पैरामीटर के रूप में ही नहीं है। यदि पैरामीटर समान हैं, NullIfNULL वापस आ जाएगा।

पूर्व:

Select NullIf('Any Value', 'NULL') 

Select NullIf('null','null') 

पहले वापस आ जाएगी 'कोई भी मान' और दूसरा NULL (नहीं 'अशक्त') वापस आ जाएगी

3

तथ्य यह है कि यह उल्लेख है "varchar मूल्य 'शून्य '' इंगित करता है कि आप कॉलम के मान को मूल्य के बजाय स्ट्रिंग "NULL" पर सेट करने का प्रयास कर रहे हैं। उद्धरण से घिरा हुआ शब्द शून्य के लिए अपने बयान में

देखो। आपको इन उद्धरणों को हटाने की आवश्यकता होगी।

संबंधित मुद्दे

 संबंधित मुद्दे