【发布时间】:2014-12-26 01:03:15
【问题描述】:
如何使用 SQL 将时间从原始格式转换为 DD/MM/YYYY hh:mm:ss? 我当前的代码是日期的前一个月。
DECLARE @nDays int = 1
DECLARE @timeVal int = dbo.GetUnixTime(DATEADD(DAY, -@nDays,GETUTCDATE()))
DECLARE @csTimeZone VARCHAR(256)
DECLARE @duration int
SELECT @csTimeZone = timeZone FROM APP_CommCell WHERE id = 2
SELECT @csTimeZone = TimeZoneStdName FROM SchedTimeZone
WHERE TimeZoneName = SUBSTRING(@csTimeZone, CHARINDEX(':', @csTimeZone, CHARINDEX(':', @csTimeZone, 0) + 1) + 1, 255)
------------------------------------------------------------------------------------------
SELECT
jobid AS 'Job ID',
B.servStartDate AS 'Raw Format',
dbo.UTCToLocalStringTime(dbo.GetDateTime(B.servStartDate),@csTimeZone) AS 'MM/DD/YYYY hh:mm:ss'
FROM JMBkpStats B
这是上面代码的结果。
Job ID Raw Format MM/DD/YYYY hh:mm:ss
2599 1410426012 09/11/2014 16:00:12
2611 1410432451 09/11/2014 17:47:31
2639 1410483605 09/12/2014 08:00:05
2724 1410541211 09/13/2014 00:00:11
2738 1410570009 09/13/2014 08:00:09
2750 1410598807 09/13/2014 16:00:07
2797 1410627614 09/14/2014 00:00:14
2808 1410656412 09/14/2014 08:00:12
2820 1410685211 09/14/2014 16:00:11
2847 1410714017 09/15/2014 00:00:17
2866 1410742805 09/15/2014 08:00:05
SELECT @csTimeZone = timeZone FROM APP_CommCell WHERE id = 2 的结果
timeZone
0:-420:(UTC+07:00) Bangkok, Hanoi, Jakarta
SELECT @csTimeZone = TimeZoneStdName FROM SchedTimeZone 的部分结果
timezonename TimeZoneStdName
(UTC+07:00) Bangkok, Hanoi, Jakarta SE Asia Standard Time
【问题讨论】:
-
这就是您要找的东西吗? stackoverflow.com/questions/6689962/…
-
您要转换时间格式吗?]
-
ํ是的,但我也想知道如何同步时区。
-
我发现我必须使用 dbo.UTCToLocalTime 而不是 dbo.UTCToLocalStringTime 才能使其可转换。非常感谢您的帮助。
标签: sql date datetime timezone format