如何将Nagios时间戳转换为日期时间?

时间:2013-04-15 11:22:57

标签: sql tsql type-conversion

我有一个sql server 2008.我得到了一个icinga / nagios服务器停机时间戳。

正是这种格式Wed Apr 10 14:45:00 CEST 2013

这对我来说是一种奇怪的格式。我想将它转换/转换为t-sql datetime - 但不知道如何。

2 个答案:

答案 0 :(得分:1)

由于 CEST为+02:00

select
CONVERT(VARCHAR(3), DATENAME(WEEKDAY, 
switchoffset(CAST(date_column_name as datetimeoffset),'+02:00')), 100)
+ ' ' +
CONVERT(VARCHAR(3), DATENAME(MM,  
switchoffset(CAST(date_column_name as datetimeoffset),'+02:00')), 100)
+ ' ' +
DATENAME(DAY, 
switchoffset(CAST(date_column_name as datetimeoffset),'+02:00'))
+ ' ' +
CONVERT(VARCHAR(8),
switchoffset(CAST(date_column_name as datetimeoffset),'+02:00'), 108)
+ ' CEST ' +
DATENAME(YEAR, 
switchoffset(CAST(date_column_name as datetimeoffset),'+02:00'))
from adm_co_users

我首先 Converting the Date to CEST Time Zone ,然后根据需要提取 日期

答案 1 :(得分:1)

这个怎么样:

select Cast( 
-- Day
substring(@sTimestamp, 9, 2) + ' ' 
-- Month
+ substring(@sTimestamp, 5, 3)  + ' '
-- Year
+ substring(@sTimestamp, 26, 4) + ' '
-- Time
+ substring(@sTimestamp, 12, 8) + ' '
as datetime)

虽然这对时区没有任何作用 - 我建议你为此做点什么。