DECLARE @d DATETIME = '2013-02-18T18:34:40.330',
@t TIME(7) = '00:11:00.0000000';
SELECT EndDate = DATEADD(SECOND, DATEDIFF(SECOND, 0, @t), @d);
परिणाम:
EndDate
-----------------------
2013-02-18 18:45:40.330
अब, आपको वास्तव में अंतराल . संग्रहित नहीं करना चाहिए एक time . में कॉलम। time एक समय में बिंदु . का प्रतिनिधित्व करने के लिए है , नहीं एक अवधि . क्या होता है जब अंतराल>=24 घंटे होता है? आपको किसी ईवेंट के प्रारंभ समय और समाप्ति समय को संग्रहीत करना चाहिए (वे चीजें आमतौर पर कम से कम अवधि जितनी प्रासंगिक होती हैं), और आप हमेशा उन बिंदुओं से अवधि की गणना कर सकते हैं।