2012-11-22 103 views
4

我试图在SQL Server中将日期从DDMMYY格式转换为datetimeSQL将'DDMMYY'转换为datetime

我用convert命令如下

select convert (datetime, '311012', <style>) 

我试图寻找在MSDN上所支持的样式,但还没有找到完全匹配。

帮助将不胜感激。

+0

你的意思是你有一个_String_,表示日期,其格式为'DDMMYY'? – Oded

+0

一个非常好的解释: - http://stackoverflow.com/questions/207190/sql-server-string-to-date-conversion – Pranav

+0

是的我有一个字符串,没有DDMMYY格式的空格。例如 - '311012' – dopplesoldner

回答

10
select convert (datetime, Stuff(Stuff('311012',5,0,'.'),3,0,'.'), 4) 
+0

中提供完美!非常感谢 – dopplesoldner

+0

“Stuff”在另一个刺探中剔除了一个字符串。在这个例子中,“Stuff”被用来插入两个句点(索引5(首部)和3(最后))。从而将“311012”转换为“31.10.12”,这是一种可以理解的日期时间格式(4)。 – Andreas

0

尝试这样的: -

declare @val1 varchar(30) 
select @val1=SUBSTRING('311012',1 ,2)+'/'+SUBSTRING('311012',3 ,2)+'/'+'20'+SUBSTRING('311012',5 ,2) 
SELECT CONVERT(datetime,@val1,103) 
0
select CAST('121031' AS datetime) as d -- For YYMMDD