【问题标题】:Convert varchar which represents DateTime in universal format (dd/MM/yy hh:mm) to DateTime将代表 DateTime 的通用格式 (dd/MM/yy hh:mm) 的 varchar 转换为 DateTime
【发布时间】:2013-01-27 08:23:34
【问题描述】:

我有一个带有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

谢谢

【问题讨论】:

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


    【解决方案1】:

    试试:

    CONVERT(datetime, @varcharDT, 3)
    

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

    【讨论】:

    • 您好,感谢您的回答。我尝试了你的建议,我得到了同样的错误:“从字符串转换日期和/或时间时转换失败。”
    猜你喜欢
    • 1970-01-01
    • 2023-04-06
    • 2013-09-26
    • 2012-03-05
    • 1970-01-01
    • 1970-01-01
    • 2018-01-08
    • 2016-02-14
    • 1970-01-01
    相关资源
    最近更新 更多