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

समय क्षेत्र के साथ डेटाटाइम फ़ील्ड कैसे जोड़ें

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 घंटे होता है? आपको किसी ईवेंट के प्रारंभ समय और समाप्ति समय को संग्रहीत करना चाहिए (वे चीजें आमतौर पर कम से कम अवधि जितनी प्रासंगिक होती हैं), और आप हमेशा उन बिंदुओं से अवधि की गणना कर सकते हैं।



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. क्या कारण है कि सबक्वेरी 1 से अधिक मान लौटाती है... त्रुटि?

  2. SQL - क्वेरी फ़ोननंबर जो असंगत रूप से संग्रहीत हैं

  3. पंक्ति के कॉलम में वर्तमान तिथि कैसे सम्मिलित करें

  4. सेट @flag =1 और सेट @@ फ़्लैग =1 . के बीच का अंतर

  5. दृश्य परिभाषा को अस्वीकार करके संग्रहीत प्रक्रिया की रक्षा करें