将以通用格式(dd / MM / yy hh:mm)表示DateTime的varchar转换为DateTime

时间:2013-01-27 08:23:35

标签: sql datetime sql-server-2008-r2 type-conversion

我有一个varchar列的表格,代表下一格式的日期和时间:

dd/MM/yy hh:mm

例如:27/01/13 07:57

我需要将此列转换为DateTime类型。

我试图这样做但没有成功。

假设@varcharDT包含VarChar DateTime,我希望将转换后的值插入@dateTimeDT变量。

DECLARE @varcharDT varchar(1000)
SELECT @varcharDT = dateTimeColumn from dbo.tempTable

--Trying to convert
DECLARE @dateTimeDT DateTime
SET @dateTimeDT= CONVERT (DATETIME, @varcharDT )

最后一行引发下一个异常:

  

从字符串转换日期和/或时间时转换失败。

我认为转换失败是因为VarChar DateTime是自定义格式。

我该如何解决?

我正在使用SQL Server 2008 R2

由于

1 个答案:

答案 0 :(得分:0)

尝试:

CONVERT(datetime, @varcharDT, 3)

最后一个数字是转换的样式。该列表可以在MSDN文档文章CAST and CONVERT (Transact-SQL)中找到。