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

मैं SQL सर्वर में समय की तुलना कैसे कर सकता हूं?

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

declare @first datetime
set @first = '2009-04-30 19:47:16.123'
declare @second datetime
set @second = '2009-04-10 19:47:16.123'

select (cast(@first as float) - floor(cast(@first as float))) -
       (cast(@second as float) - floor(cast(@second as float)))
       as Difference

लंबी व्याख्या:SQL सर्वर में एक तारीख को फ्लोटिंग पॉइंट नंबर के रूप में संग्रहीत किया जाता है। दशमलव बिंदु से पहले के अंक दिनांक का प्रतिनिधित्व करते हैं। दशमलव बिंदु के बाद के अंक समय का प्रतिनिधित्व करते हैं।

तो यहाँ एक उदाहरण दिनांक है:

declare @mydate datetime
set @mydate = '2009-04-30 19:47:16.123'

आइए इसे एक फ्लोट में बदलें:

declare @myfloat float
set @myfloat = cast(@mydate as float)
select @myfloat
-- Shows 39931,8244921682

अब कॉमा कैरेक्टर के बाद पार्ट लें, यानी समय:

set @myfloat = @myfloat - floor(@myfloat) 
select @myfloat
-- Shows 0,824492168212601

इसे वापस डेटाटाइम में बदलें:

declare @mytime datetime
set @mytime = convert(datetime,@myfloat)
select @mytime
-- Shows 1900-01-01 19:47:16.123

1900-01-01 केवल "शून्य" तिथि है; आप कन्वर्ट के साथ समय भाग प्रदर्शित कर सकते हैं, उदाहरण के लिए प्रारूप 108 निर्दिष्ट कर सकते हैं, जो कि बस समय है:

select convert(varchar(32),@mytime,108)
-- Shows 19:47:16

डेटाटाइम और फ्लोट के बीच रूपांतरण बहुत तेज़ होते हैं, क्योंकि वे मूल रूप से उसी तरह संग्रहीत होते हैं।



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. SQL क्वेरी ऑप्टिमाइज़ेशन:बेहतर प्रदर्शन के लिए सर्वोत्तम अभ्यास

  2. मैं PHP पीडीओ के साथ मैक से एसक्यूएल सर्वर से कैसे जुड़ सकता हूं?

  3. SQL क्वेरी ऑप्टिमाइज़ेशन - यह कैसे निर्धारित करें कि इसकी आवश्यकता कब और क्या है

  4. SQL सर्वर में तालिका-मूल्यवान फ़ंक्शन के माध्यम से डेटा अपडेट करें

  5. SP_WhoIsActive या FogLight के माध्यम से SQL डेटाबेस की निगरानी करें | SQL सर्वर प्रदर्शन समस्या निवारण -1