2011-07-15 13 views
5

मैं PHP से टाइमज़ोन त्रुटि ऑफ़सेट करने का प्रयास कर रहा हूं। टेबल 'टेस्ट' में दर्ज सभी बार दो घंटों तक आगे बढ़े थे। मैं जो चाहता हूं वह पहले से मौजूद समय से दो घंटे का उपयोग करके प्रत्येक रिकॉर्ड को अपडेट करना है।किसी तालिका में प्रत्येक रिकॉर्ड में दिनांक/समय फ़ील्ड से 2 घंटे कम कैसे करें?

मैंने कोशिश की:

UPDATE test 
    SET LastModifiedDate = SUBTIME(LastModifiedDate, '02:00:00') 

लेकिन यह सिर्फ एक ही मूल्य के साथ सभी क्षेत्रों अद्यतन करता है।

tthanks

+1

तुम कहाँ है कि बयान में खंड जरूरत नहीं है। –

+0

क्या आप वाकई समय क्षेत्र मुद्दा नहीं हैं? – Mike

+0

@ नागरिक मुझे पता है, मैं यह देखने की कोशिश कर रहा था कि यह एक फर्क पड़ता है और ऐसा नहीं हुआ। क्या आप मुझे समाधान के साथ आने में मदद कर सकते हैं? – sqluf

उत्तर

2
update test set LastModifiedDate = adddate(LastModifiedDate, interval -2 hour); 

सहायता कृपया इस -2 घंटे के लिए अपने सभी तिथियों को संशोधित करेगा। आप विशिष्ट पंक्तियों को लक्षित करके क्वेरी के "कहां" अनुभाग में परिणाम को सीमित कर सकते हैं।

7

उपयोग DATE_SUB() function:

UPDATE test SET LastModifiedDate = DATE_SUB(LastModifiedDate, INTERVAL 2 HOUR) 

टेस्ट यह पहली बार कुछ यह तुम क्या चाहते कर रहा है होने के लिए:

SELECT LastModifiedDate, DATE_SUB(LastModifiedDate, INTERVAL 2 HOUR) FROM test; 
11
update test set LastModifiedDate = LastModifiedDate - interval 2 hour; 
संबंधित मुद्दे

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