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

SQL 2005 में UTC और स्थानीय (यानी PST) समय के बीच प्रभावी रूप से दिनांक परिवर्तित करना

दो टेबल बनाएं और फिर उनसे जुड़ें ताकि संग्रहीत जीएमटी तिथियों को स्थानीय समय में परिवर्तित किया जा सके:

TimeZones     e.g.
---------     ----
TimeZoneId    19
Name          Eastern (GMT -5)
Offset        -5

दिन के उजाले की बचत तालिका बनाएं और इसे अधिक से अधिक जानकारी के साथ भरें (स्थानीय कानून हर समय बदलते हैं इसलिए यह अनुमान लगाने का कोई तरीका नहीं है कि भविष्य में डेटा कैसा दिखेगा)

DaylightSavings
---------------
TimeZoneId    19
BeginDst      3/9/2008 2:00 AM
EndDst        11/2/2008 2:00 AM

उनसे इस तरह जुड़ें:

inner join  TimeZones       tz on x.TimeZoneId=tz.TimeZoneId
left join   DaylightSavings ds on tz.TimeZoneId=ds.LocalTimeZone 
    and x.TheDateToConvert between ds.BeginDst and ds.EndDst

तारीखों को इस तरह बदलें:

dateadd(hh, tz.Offset + 
    case when ds.LocalTimeZone is not null 
    then 1 else 0 end, TheDateToConvert)


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Oracle और SQL सर्वर के बीच रिक्त स्थान को संभालने का अंतर

  2. ओवरलैपिंग दिनांक अंतराल मर्ज करें

  3. SQL सर्वर में वर्तमान डेटाबेस के लिए सभी फ़ाइल समूह लौटाएँ

  4. SQL सर्वर में एक स्ट्रिंग से सभी रिक्त स्थान निकालें

  5. क्या NHibernate में टेबल-वैल्यूड पैरामीटर्स को पास करने के लिए `SqlDbType.Structured` का उपयोग करना संभव है?