如何将nvarchar(包括时间)转换为datetime

时间:2016-06-14 02:14:06

标签: sql sql-server

我有数据20160526094432,我想在SQLServer中转换为datetime 结果将是2016-05-26 09:44:32

有简单的方法吗?

由于

3 个答案:

答案 0 :(得分:1)

如果您使用MS SQL Server 2012或更高版本,则可以享受format功能。

select cast(format(20160526094432,'####-##-## ##:##:##') as datetime) [date-time]

如果你的长号是一个字符串,那么你必须转换它。

declare @d varchar(20)='20160526094432'
select cast(format(cast(@d as bigint),'####-##-## ##:##:##') as datetime) [date-time]

答案 1 :(得分:0)

嗯。我不认为真的干净的方式,但这样的事情应该有效:

select (convert(datetime, left(col, 8) as datetime) +
        convert(datetime, convert(time,
                                  stuff(stuff(right(col, 6), 5, 0, ':'), 3, 0, ':')
                                 )
                )
        )

答案 2 :(得分:0)

也许您可以尝试这种方式,例如,Date是您的表格列,103是您要转换的日期格式,google了解更多详情。

CONVERT(datetime, Date, 103)