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

SQL सर्वर में डेटटाइम स्ट्रिंग को डेटटाइम में कैसे बदलें?

SQL सर्वर में 2008 आप datetimeoffset . का उपयोग कर सकते हैं डेटा प्रकार।

SELECT [Result] = CONVERT(datetimeoffset, '2005-08-08T00:01:00+01:00', 127)

आउटपुट:

Result
----------------------------------
2005-08-08 00:01:00.0000000 +01:00

SQL सर्वर में 2005 और इससे पहले आप UTC दिनांक और ऑफ़सेट की गणना कर सकते हैं:

SELECT [LocalDate], [OffsetMinutes], [UtcDate]
FROM
(
    SELECT [IsoDate] = '2007-08-08T00:01:00+01:00'
) A
OUTER APPLY
(
    SELECT [LocalDate] = CONVERT(datetime, LEFT([IsoDate], 19), 126)
    , [OffsetMinutes] =
        CASE SUBSTRING([IsoDate], 20, 1)
            WHEN '+' THEN +1
            WHEN '-' THEN -1
        END
        * DATEDIFF(minute, 0,
            CAST(SUBSTRING([IsoDate], 21, 5) + ':00' AS datetime))
    WHERE [IsoDate] LIKE '____-__-__T__:__:__[+-]__:__'
) B
OUTER APPLY
(
    SELECT [UtcDate] = DATEADD(minute, -[OffsetMinutes], [LocalDate])
) C

आउटपुट:

LocalDate               OffsetMinutes UtcDate
----------------------- ------------- -----------------------
2007-08-08 00:01:00.000 60            2007-08-07 23:01:00.000


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. त्रुटि 'सबरेपोर्ट निर्दिष्ट स्थान पर नहीं मिल सका। कृपया सत्यापित करें कि सबरिपोर्ट प्रकाशित हो चुकी है और नाम सही है।

  2. .NET 3.5 में डेटटाइम क्रमांकन के लिए सर्वोत्तम अभ्यास

  3. सी # आवेदन से एसएसआईएस कार्य निष्पादित करना

  4. दो समान डेटाबेस डेटा को एक में कैसे मर्ज करें?

  5. SQL Server 2008 डेटाबेस को ऑफ़लाइन जाने के लिए बाध्य कैसे करें