求一张表中两个字段的差值,该如何处理

求一张表中两个字段的差值
                     字段1                        字段2 
    20140918080711           20140918091418
            ................                         .................
年月日 时分秒


这两个字段都是字符型,如何计算他们之间的差值
------解决思路----------------------
引用:
Quote: 引用:

1)先把字符串拆分为日期格式;
2)转换为日期格式;
3)使用日期函数Datediff 取差值。

Hope help.

请问如何拆分字符串呢


如:
select cast(left('20140918080711',8)+' '+substring('20140918080711',9,2)
+':'+substring('20140918080711',11,2)
+':'+substring('20140918080711',13,2) 
as datetime)

------解决思路----------------------
如果格式固定为:YYYYMMMMDDHHMMSS,那么就可以通过字符串拆分来把这1个字段分成日期和时间2个字段,拆分方法:left( 字段1 ,8),right( 字段1 ,6).然后通过cast函数可以进行日期转换,最后就可以通过Datediff来获取差值