如何将varchar转换为datetime

时间:2017-02-16 15:10:52

标签: sql-server datetime type-conversion varchar

我有[YYYYmmdd hhmmss]格式的varchar列标题(Prod_time),我试图将其转换为datetime。我需要能够从特定天数中提取数据,并且我希望能够将varchar转换为datetime来实现此目的。

有没有办法将varchar转换为datetime?没有特殊格式的日期时间,只有数据类型转换。

1 个答案:

答案 0 :(得分:3)

你需要在这里强制使用几个字符,以便convert函数知道如何处理它。我们可以很容易地使用STUFF。这适用于提供的字符串格式。

declare @SomeChar varchar(20) = '20170216 100903'

select CONVERT(datetime, STUFF(STUFF(@SomeChar, 12, 0, ':'), 15, 0, ':'))

如果可能的话,您应该考虑将数据类型转换为日期时间。它消除了这种麻烦,也防止了无效的值。