将格式为“25-OCT-13 01.08.24.732000000 PM”的Excel中的date转换为Sql Server 2008 R2中的DateTime

我有一个格式为“25-OCT-13 01.08.24.732000000 PM”的varchardate(这是从excel文件中读取的)。 现在我需要将其转换为Sql Server 2008 R2中的DateTimetypes。

我检查了Sql Server的Convert()函数,但是这种格式不匹配任何现有的格式,例如101或120等,即Convert(DateTime,thisweirdDate,120)不起作用。

谢谢。

好的,要做到这一点还有更好的办法,但这里有一个办法:

DECLARE @DataExample VARCHAR(31) SET @DataExample = '25-OCT-13 01.08.24.732000000 PM' SELECT CONVERT(DATETIME,CONVERT(VARCHAR(8),[Date],112)+ ' '+CONVERT(VARCHAR(12),[Time])) FROM ( SELECT CONVERT(DATE,REPLACE(LEFT(@DataExample,9),'-',' '),6) [Date], CONVERT(TIME,REPLACE(SUBSTRING(@DataExample,11,12),'.',':')+ RIGHT(@DataExample,2)) [Time] ) A