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

फ्लोट के रूप में मूल्य डालने में असमर्थ

आपके विचार के बाद के बारे में।

SQL सर्वर 2012 में TRY_CONVERT का परिचय दिया गया है इस जरूरत के लिए। तो निम्न क्वेरी NULL लौटाएगी त्रुटि के बजाय।

SELECT TRY_CONVERT ( FLOAT, 'Fish')

सीरियल प्लान के साथ भी इस बात की कोई गारंटी नहीं है कि WHERE क्लॉज SELECT . से पहले होगा मूल्यांकन किया जाता है। जैसा बताया गया है इस ब्लॉग पोस्ट में SQL सर्वर 2005 के बाद से यह पिछले संस्करणों की तुलना में अधिक होने की संभावना है। SQL में डेटाबेस इंजन सुविधाओं में व्यवहार परिवर्तन सर्वर 2005 विशेष रूप से इसे इस प्रकार कहते हैं।

इस व्यवहार के बारे में अधिक चर्चा क्रेग फ्रीडमैन द्वारा एक और अच्छी ब्लॉग पोस्ट में है रूपांतरण और अंकगणित त्रुटियां .

2012 से पहले के संस्करणों और TRY_CONVERT . पर आपको CAST AS FLOAT को लपेटना होगा एक CASE . में बयान। उदा.

  SELECT CASE WHEN ISNUMERIC(Col)=1 THEN CAST(Col AS FLOAT) END AS Col
  FROM Table
  WHERE ISNUMERIC(Col)=1

यह अभी भी आपको ISNUMERIC . के रूप में त्रुटियाँ प्राप्त करने से रोकने के लिए पूरी तरह से गारंटीकृत नहीं है केवल यह जांचता है कि मान विशेष रूप से फ्लोट करने के बजाय संख्यात्मक डेटाटाइप में से एक को डाला जाएगा असफल होने वाले इनपुट का एक उदाहरण '.'

CASE ऑनलाइन किताबों में ज्यादातर शॉर्ट सर्किट के लिए प्रलेखित है (यहां कुछ अपवादों पर चर्चा की गई है )

आप इसके बारे में कनेक्ट आइटम में अतिरिक्त चर्चा/शिकायतें भी पा सकते हैं SQL सर्वर को अतार्किक त्रुटियाँ नहीं उठानी चाहिए और ए>इसी तरह के मुद्दे की अच्छी व्याख्या SQLKiwi द्वारा



  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 सर्वर में "तिथि int के साथ असंगत है" को ठीक करें

  2. PowerShell का उपयोग करके SQL सर्वर में .csv से डेटा कैसे आयात करें?

  3. SQL सर्वर 2019 नई सुविधाएँ

  4. अपने ASP.NET कोर एप्लिकेशन को SQLServer के स्थानीय उदाहरण से कनेक्ट करना

  5. मुझे घंटे, न्यूनतम, दो डेटाटाइम से दूसरा अंतर चाहिए