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

MySQL चयन करें:जहां समय अधिक है और समय से कम है

आप चाहते हैं TIME() , नहीं HOUR()

SELECT * FROM cdr_table 
WHERE OwnerUserID = '$_SESSION[user_id]'
  AND GatewayID = $gateway_id
  AND DATE(Dialed) = $date_sql
  AND Dialed != 0
  AND TIME(StartTime) BETWEEN '$start_time' AND '$end_time'

साथ ही, मैं दृढ़ता से mysql_real_escape_string() के साथ SQL कोड में एम्बेड किए जा रहे सभी वैरिएबल से बचने का सुझाव दें या समकक्ष, भले ही आप सुनिश्चित हों कि उनमें कुछ भी हानिकारक नहीं है, बस इसे एक आदत बनाने के लिए।

ध्यान दें कि इस तरह की क्वेरी आंतरिक रूप से अक्षम हो सकती है, क्योंकि यह StartTime पर अनुक्रमणिका का उपयोग नहीं कर सकती है। कॉलम। यदि तालिका में संभावित रूप से मेल खाने वाली बहुत सी पंक्तियाँ हैं, तो केवल को संग्रहीत करने के लिए एक अलग कॉलम बनाकर अपनी तालिका को असामान्य बनाना एक अच्छा विचार हो सकता है StartTime . का समय भाग और उस पर एक इंडेक्स सेट करना (संभवतः अन्य प्रासंगिक कॉलम के साथ संयुक्त)।



  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 कथन में 'as' का उपयोग करते समय अज्ञात कॉलम त्रुटि प्राप्त करना

  2. 15 उपयोगी MySQL/MariaDB प्रदर्शन ट्यूनिंग और अनुकूलन युक्तियाँ

  3. PDO और तैयार किए गए कथनों के साथ mysql_* फ़ंक्शन को बदलना

  4. MySQL mysql_tzinfo_to_sql प्रोग्राम

  5. मैं MySQL में एक प्रिंट स्टेटमेंट का अनुकरण कैसे कर सकता हूं?