2010-10-05 13 views
66

जब मैं mysql तालिका में संख्यात्मक मूल्य +1 की स्थापना चाहते हैं, मैं का उपयोग उदा .:तारीख अपडेट mysql में + एक वर्ष

UPDATE table SET number=number+1 WHEN ... 

मैं कैसे तिथि + एक वर्ष निर्धारित कर सकते हैं?

धन्यवाद

+0

http://dev.mysql.com/ डॉक/RefMan/5.1/en/तारीख और समय-functions.html # function_adddate –

उत्तर

120

आप DATE_ADD इस्तेमाल कर सकते हैं: (या ADDDATEINTERVAL साथ)

UPDATE table SET date = DATE_ADD(date, INTERVAL 1 YEAR) 
12

इस पोस्ट में आज मुझे मदद मिली है, लेकिन मैं मैं क्या जरूरत करने के लिए प्रयोग करने के लिए किया था। जो मुझे मिला वह यहां है।

आप

UPDATE tablename SET datefieldname = curdate() + INTERVAL 15 DAY + INTERVAL 1 YEAR; 

मैंने पाया कि DATE_ADD का उपयोग कर एक से अधिक अंतराल को जोड़ने के लिए अनुमति नहीं है का उपयोग कर सकते 1 साल और 15 दिन, और अधिक जटिल समय अवधि को जोड़ने के लिए उदाहरण के लिए इच्छुक हों। और कोई YEAR_DAYS अंतराल कीवर्ड नहीं है, हालांकि ऐसे समय भी हैं जो समय अवधि को जोड़ते हैं। यदि आप समय जोड़ रहे हैं, तो curdate() के बजाय now() का उपयोग करें।

2

कई अंतराल प्रकारों के लिए के रूप में एक नेस्टेड निर्माण का उपयोग करें:

UPDATE table SET date = DATE_ADD(DATE_ADD(date, INTERVAL 1 YEAR), INTERVAL 1 DAY) 

+ 1 दिन कॉलम में दिए गए दिनांक को अद्यतन करने date 1 वर्ष के लिए

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