日期:2014-05-17  浏览次数:20590 次

SQL2005 varchar时间类型 怎么相减 得到分钟数。
有一个表,有两列 varchar类型的时间,长度是varchar(12)。这两列 怎么相减得到分钟数。

sql 有什么可以把字符类型时间 装为 datetime类型的语句嘛。
sql 类型转换

------解决方案--------------------

declare @x1 varchar(12),@x2 varchar(12)

select @x1='201310101232',@x2='201310101331'

select datediff(mi,
cast(left(@x1,4)+'-'+substring(@x1,5,2)+'-'+substring(@x1,7,2)+' '+substring(@x1,9,2)+':'+substring(@x1,11,2)+':00' as datetime),
cast(left(@x2,4)+'-'+substring(@x2,5,2)+'-'+substring(@x2,7,2)+' '+substring(@x2,9,2)+':'+substring(@x2,11,2)+':00' as datetime)) '分钟数'

/*
分钟数
-----------
59

(1 row(s) affected)
*/