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

MySQL क्वेरी उम्मीदों को आउटपुट नहीं कर रही है

आपको वह पंक्ति मिल रही है क्योंकि आप तार की तुलना कर रहे हैं। "500" >= "60" सच है, ASCII वर्णों के क्रम के कारण।

आपको minutes . के प्रकार को बदलना होगा डेटा फ़िल्टर करते समय मान को कॉलम या पार्स करें। उदा.

SELECT *, CONVERT(minutes,UNSIGNED INTEGER) AS minutes_int
...
WHERE
...
AND `minutes_int` >= 600
...

जैसा कि स्ट्रिंग मान की सीधे पूर्णांक मान से तुलना करने का प्रयास कर सकता है, उदाहरण के लिए।

AND `minutes` >= 600

अल्पविरामों को हटाकर, लेकिन मेरा सुझाव है कि यदि संभव हो तो आप कॉलम प्रारूप को बदलने के बारे में सोचें, क्योंकि मिनटों को varchar(11) के रूप में दर्शाया गया है। सही नहीं है और यह आपको बिना कारण के काफी जगह घेर लेगा।



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. तालिकाओं के बीच अंतर

  2. तैयार किए गए कथन का उपयोग करके अंतिम सम्मिलित पंक्ति की आईडी कैसे प्राप्त करें?

  3. #1273 - अज्ञात संयोजन:'utf8mb4_unicode_520_ci'

  4. MySQL str_to_date मान्य स्वरूपण के बावजूद NULL उत्पन्न करता है

  5. उपयोगकर्ता 'रूट' @ 'लोकलहोस्ट' के लिए MYSQL एक्सेस अस्वीकृत