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

CAST . का उपयोग किए बिना VARCHAR फ़ील्ड का mysql SUM

MySQL एक संख्यात्मक संदर्भ में एक स्ट्रिंग के लिए मूक रूपांतरण करता है। क्योंकि यह sum() . के लिए एक संख्या की अपेक्षा करता है , MySQL केवल एक स्ट्रिंग से अग्रणी "संख्याओं" का उपयोग करके रूपांतरण करता है। ध्यान दें कि इसमें दशमलव बिंदु, ऋण चिह्न और यहां तक ​​कि e . भी शामिल हैं वैज्ञानिक संकेतन का प्रतिनिधित्व। तो, '1e6' एक संख्या के रूप में व्याख्या की जाती है।

कोड में, मैं व्यक्तिगत रूप से 0 . जोड़कर रूपांतरण को स्पष्ट कर दूंगा :

SELECT SUM(parametervalue + 0) FROM table

विडंबना यह है कि 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. MySQL और JSON - सरणी को पंक्तियों में बदलें

  2. यह जाँचने के लिए कि क्या फ़ील्ड मौजूद है और फिर परिणाम सेट लौटाएँ

  3. mysql प्रश्नों के लिए बैककोट/बैकटिक्स का उपयोग करना

  4. जेपीए का नक्शा<KEY, VALUE> JPQL की क्वेरी विफल रही

  5. तैयार कथन का आंतरिक भाग कैसा होता है?