TSQL:如何将格林威治标准时间2013年10月17日00:00:00转换为日期或日期时间

时间:2016-10-07 04:27:48

标签: sql tsql sql-server-2012

TSQL:如何将格林威治标准时间2013年10月17日00:00:00转换为日期或日期时间

2 个答案:

答案 0 :(得分:0)

假设不需要在时区之间进行转换,您可以使用以下TSQL:

DECLARE @DateText NVARCHAR(28)
SET @DateText = 'Thu Oct 17 00:00:00 GMT 2013'

SELECT  CONVERT(DATETIME, SUBSTRING(@DateText,9,3) + SUBSTRING(@DateText,5,4) + SUBSTRING(@DateText,25,4) + SUBSTRING(@DateText,11,9), 113) "DATETIME",
        CONVERT(DATE, SUBSTRING(@DateText,9,3) + SUBSTRING(@DateText,5,4) + SUBSTRING(@DateText,25,4), 106) "DATE"

答案 1 :(得分:0)

使用以下脚本。

DECLARE @input NVARCHAR(28)
SET @input = 'Thu Oct 17 00:00:00 GMT 2013'

SELECT CAST(SUBSTRING(REPLACE(@input,' GMT',''),5,LEN(@input))as Datetime)  [DATETIME],
       CAST(CAST(SUBSTRING(REPLACE(@input,' GMT',''),5,LEN(@input))as Datetime)as DATE)  [DATE]

您还可以使用“FORMAT”功能将输入转换为日期。

SELECT FORMAT(CAST(SUBSTRING(REPLACE(@input,' GMT',''),5,LEN(@input)) as datetime),'yyyy-MM-dd') [Date]