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

मैसकल डेटिफ क्वेरी

ऐसा लगता है कि आप ऐसा करने का प्रयास कर रहे हैं:

WHERE specific_date < (NOW() + 5 days)

सबसे पहले, सीमा मामलों के बारे में ध्यान से सोचें। ये सीमा मामले SQL में आपकी टखनों को काट सकते हैं। क्या आप वाकई चाहते हैं

WHERE specific_date <= (NOW() + 5 days)

अपना specific_date करें कॉलम टाइमस्टैम्प में केवल दिन होते हैं (अर्थात मध्यरात्रि के बराबर समय वाली तिथियां) या क्या उनमें तिथियां और समय होते हैं? यदि आप अपने इच्छित परिणाम प्राप्त करने जा रहे हैं, तो आपको उन विवरणों के बारे में सावधान रहने की आवश्यकता है।

किसी भी मामले में, यह प्रयास करें:

WHERE specific_date <= DATE_ADD(NOW(), INTERVAL 5 DAY)

ऐसा लुकअप करने का यह एक अच्छा तरीका है। असमानता विधेय के एक तरफ स्तंभ मान अकेला खड़ा है (<= ) इसलिए यदि आपके पास कॉलम पर एक इंडेक्स है तो mySQL एक इंडेक्स रेंज स्कैन कर सकता है।

MySQL में दिनांक अंकगणित काफी लचीला है। आप कर सकते हैं

   NOW() + INTERVAL 10 SECOND
   NOW() - INTERVAL 2 MINUTE
   NOW() + INTERVAL 4 HOUR
   CURDATE() - INTERVAL 1 WEEK /* midnight one week ago */
   LAST_DAY(NOW()) + INTERVAL 1 DAY - INTERVAL 1 MONTH  /*first day of present month*/
   NOW() - INTERVAL 1 QUARTER
   CURDATE() - INTERVAL 5 YEAR

और आगे।



  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:बड़ा VARCHAR बनाम टेक्स्ट?

  2. जहां क्लॉज में एक अस्थायी कॉलम का उपयोग कैसे करें

  3. PHP में SQL क्वेरी को सुरक्षित करने का सबसे अच्छा तरीका

  4. अद्यतन क्वेरी त्रुटि के साथ विफल:1175

  5. MySQL:तालिका से * चुनें जहां OR . के बिना col IN (null, ) संभव है