SQL Server 2008 - Display time difference -


मेरे पास SQL ​​Server 2008 क्वेरी है जो Start_of_Attack और End_of_Attack को प्रदर्शित करता है:

  का चयन करें कास्ट (DATEADD (दूसरा, dbo.AGENT_SECURITY_LOG_1.BEGIN_TIME / 1000 + 8 * 60 * 60, '19,700,101') के रूप में VARCHAR (50)) Start_of_Attack, कास्ट (DATEADD (दूसरा रूप में, dbo.AGENT_SECURITY_LOG_1.END_TIME / 1000 + 8 * 60 * 60, '19,700,101') के रूप में VARCHAR (50)) dbo.AGENT_SECURITY_LOG_1 से End_of_Attack के रूप में जहां dbo.AGENT_SECURITY_LOG_1.TIME_STAMP & gt; DATEDIFF (द्वितीय, '1 9 700101', DATEADD (दिन, -1, गेट्डेट ())) * कास्ट (1000 बड़ी बिल्ट के रूप में)  

मैं एक तीसरा कॉलम प्रदर्शित करना चाहूंगा, अवधि

मैं Start_of_Attack और End_of_Attack

के बीच समय अंतर कैसे दिखाऊँ? Div class = "post-text" itemprop = "text">

चूंकि आप अपनी तिथि को एक पूर्णांक के रूप में संग्रहीत कर रहे हैं, तो आप यह कर सकते हैं:

  SELECT (dbo.AGENT_SECURITY_LOG_1.END_TIME - dbo.AGENT_SECURITY_LOG_1.BEGIN_TIME) / 1000 Duration_Of_Attack के रूप में  

मान DATETIME आप इस्तेमाल कर सकते हैं DateDiff () आसानी से के रूप में जमा कर रहे थे , जैसा कि आप अब भी DATEDIFF () का उपयोग कर सकते हैं, लेकिन इसे DATETIME () के बजाय VARCHAR () के रूप में अपनी मौजूदा तिथि कास्टिंग करने की आवश्यकता है अनावश्यक:

  का चयन करें कास्ट (DATEADD (दूसरा, dbo.AGENT_SECURITY_LOG_1.BEGIN_TIME / 1000 + 8 * 60 * 60, '19,700,101') के रूप में VARCHAR (50)) Start_of_Attack, कास्ट (DATEADD के रूप में ( दूसरा, dbo.AGENT_SECURITY_LOG_1.END_TIME / 1000 + 8 * 60 * 60, '19,700,101') के रूप में VARCHAR (50)) End_of_Attack, DateDiff (एस एस, कास्ट (DATEADD (दूसरा, dbo.AGENT_SECURITY_LOG_1.BEGIN_TIME के ​​रूप में / 1000 + 8 * 60 * 60 '19,700,101') DATETIME), कास्ट (DATEADD (दूसरा, dbo.AGENT_SECURITY_LOG_1.END_TIME एएस / 1000 + 8 * 60 * 60 DATETIME, के रूप में '19,700,101'))) dbo.AGENT_SECURITY_LOG_1 कहां dbo.AGENT_SECURITY_LOG_1.TIME_STAMP & gt ; DATEDIFF (दूसरा, '19700101', DATEADD (दिन, -1, GETDATE ())) * CAST (1000 बड़े महत्व के रूप में)  

उपयुक्त DATETIME डेटा प्रकार, लेकिन आपको समस्याओं में भाग लेने से पहले एक और 22 साल हो गए हैं।


Comments