2011-01-26 6 views
12

में रिकॉर्ड दिखाएं मैं भविष्य में 7 दिनों तक डेटाटाइम से पंक्तियों का चयन करना चाहता हूं, मैं यह कैसे कर सकता हूं?अब से() से अगले 7 दिनों में mysql

SELECT id, date_format(datum, '%d/%m') AS date, 
     date_format(datum, '%H:%i') AS time, date 
FROM wedstrijden 
WHERE date >= now() 
ORDER BY datum asc 

मैं के साथ कुछ करने के लिए:

date >= now() till 7 days further 
+0

http://stackoverflow.com/questions/2684520/mysql-date-add-usage-5-day-interval –

उत्तर

46

मैं प्रस्तुत होता है कि सबसे खूबसूरत तरीका होगा:

WHERE `date` BETWEEN NOW() AND DATE_ADD(NOW(), INTERVAL 7 DAY) 

संपादित करें: this doc page कभी सबसे अधिक उपयोगी बात की तरह है। इसे बुकमार्क करें, क्योंकि यह पूरी तरह से आसान है।

+1

यह अंतराल है 7 "दिन" मुझे लगता है ;-) धन्यवाद यह – Frank

+0

आह, सच पर्याप्त मदद की ! :-) और आपका स्वागत है। – TehShrike

+0

आपने मुझे बचाया ... '...> = DATE_SUB (....)' –

0

कुछ की तरह:

"...WHERE date >= NOW() AND date <= ADDTIME(NOW(), 168:00:00)..." 
mysql की तारीख समारोह के बारे में बहुत कुछ पढ़ें लेकिन नहीं कर सकते यह पता लगा, इस MySQL कोड है

जो आप खोज रहे हैं उसे पूरा करना चाहिए। 168: 00: 00 आपकी ज़रूरतों के लिए थोड़ा विशिष्ट है, ADDTIME कोई डेटाटाइम प्रारूप लेता है।

4

आप इस प्रकार वर्तमान समय के लिए एक सप्ताह में जोड़ने के लिए INTERVAL संशोधक इस्तेमाल कर सकते हैं:

...WHERE date >= NOW() AND date <= NOW() + INTERVAL 7 DAY; 
+0

यह सही है Tehshrike विधि के साथ जवाब देने के मैं के बीच अब mysql_error प्राप्त होगा क्योंकि उसमें नहीं है() और DATE_ADD (NOW(), अंतराल 7 दिन) लेकिन बीच NOW() और DATE_ADD (NOW(), अंतराल 7 दिन) दिन = दिन – Frank

1

क्या मैं डेटाबेस से 7 दिन वापस से सभी डेटा प्राप्त करने के लिए का उपयोग अब तक:

SELECT * FROM wedstrijden WHERE DATE(date_from_table) > CURDATE() + INTERVAL 7 DAY

संबंधित मुद्दे