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

SQL सर्वर में Msg 8114 "डेटा प्रकार varchar को संख्यात्मक में बदलने में त्रुटि" को ठीक करें

यदि आपको SQL सर्वर त्रुटि Msg 8114 मिल रही है जो कुछ इस तरह पढ़ती है डेटा प्रकार varchar को संख्यात्मक में कनवर्ट करने में त्रुटि , ऐसा शायद इसलिए है क्योंकि आप एक डेटा प्रकार रूपांतरण करने का प्रयास कर रहे हैं जो विफल हो जाता है क्योंकि मान को गंतव्य प्रकार में परिवर्तित नहीं किया जा सकता है।

ऐसा इसलिए नहीं है क्योंकि आप उस प्रकार को नए प्रकार में परिवर्तित नहीं कर सकते। यह मूल्य के कारण ही है।

त्रुटि का उदाहरण

यहां कोड का एक उदाहरण दिया गया है जो त्रुटि उत्पन्न करता है:

SELECT CAST('Ten' AS DECIMAL(5,2));

परिणाम:

Msg 8114, Level 16, State 5, Line 1
Error converting data type varchar to numeric.

यह त्रुटि इसलिए हुई क्योंकि SQL सर्वर स्ट्रिंग मान को दशमलव में परिवर्तित नहीं कर सका।

समाधान 1

इसे ठीक करने के लिए, आपको यह सुनिश्चित करना होगा कि आप एक ऐसा मान प्रदान करते हैं जिसे SQL सर्वर परिवर्तित कर सकता है।

यदि आप एक कॉलम पास कर रहे हैं, तो जांचें कि आपको सही कॉलम मिला है। वही अगर आप एक वेरिएबल पास कर रहे हैं - जांचें कि यह सही वेरिएबल है।

ध्यान रखें कि स्ट्रिंग को दशमलव में बदलने की कोशिश के सभी मामलों में ऐसा नहीं हो सकता है, क्योंकि कुछ स्ट्रिंग मानों को परिवर्तित किया जा सकता है।

उदाहरण के लिए, निम्न रूपांतरण सफल होता है:

SELECT CAST('10' AS DECIMAL(5,2));

परिणाम:

10.00

यहाँ, SQL सर्वर उस 10 . पर काम करने में सक्षम था एक संख्या है, और इसलिए रूपांतरण सफल हुआ।

समाधान 2

यदि आपको रूपांतरण विफल होने से कोई आपत्ति नहीं है, लेकिन आप नहीं चाहते कि यह कोई त्रुटि लौटाए, तो TRY_CAST() आज़माएं या TRY_CONVERT() कार्य।

त्रुटि वापस करने के बजाय, ये फ़ंक्शन NULL लौटाते हैं जब मान परिवर्तित नहीं किया जा सकता।

उदाहरण:

SELECT TRY_CAST('Ten' AS DECIMAL(5,2));

परिणाम:

NULL

  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 सर्वर प्रबंधन स्टूडियो 2008 में जेनरेट स्क्रिप्ट कार्य को स्वचालित कैसे कर सकता हूं?

  3. SQL सर्वर (T-SQL) में वर्तमान सत्र की भाषा प्राप्त करने के 3 तरीके

  4. SQL सर्वर (T-SQL) में CHAR () फ़ंक्शन कैसे काम करता है

  5. SQL सर्वर में तिथियों की तुलना कैसे करें