我在varchar中有一列日期,我需要转换为日期

时间:2014-09-08 14:53:21

标签: sql sql-server converter

日期显示为:ddmmmyyyy(12DEC2013)

我一直在玩这个公式:

DECLARE @Date char(8)
set @Date='12312009'
SELECT CONVERT(datetime,RIGHT(@Date,4)+LEFT(@Date,2)+SUBSTRING(@Date,3,2))

但我没有任何成功,有人可以帮我解决这个问题。此外,我所有的日期都在一个名为TERMDT的列中,我想将所有新的日期值放在一个新格式的列中。

1 个答案:

答案 0 :(得分:1)

只需给convert()一个合适的第三个参数(格式):

SELECT CONVERT(datetime,
               RIGHT(d, 4) + LEFT(d,2) + SUBSTRING(d, 3, 2),
               112)
from (select '12312009' as d) t