我的varchar日期格式为“25-OCT-13 01.08.24.732000000 PM”(已从excel文件中读取)。现在我需要在Sql Server 2008 R2中将其转换为DateTime类型。
我检查了Sql Server的Convert()函数,但是这种格式与任何现有格式都不匹配,例如101或120等,即Convert(DateTime,thisweirdDate,120)不起作用。
感谢。
答案 0 :(得分:2)
好的,有是更好的方法,但这是一种方式:
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